# Substrate Common Issues ### Substrate 2.0 to 3.0 https://github.com/paritytech/substrate/blob/master/docs/Upgrading-2.0-to-3.0.md https://crates.parity.io/frame_support/attr.pallet.html#example-for-pallet-without-instance ### Forgetting `cfg_attr` for `no_std` If you forget to include this no_std attribut in your modules library `#![cfg_attr(not(feature = "std"), no_std)]` You will get this issue <code>duplicate lang item in crate `sp_io` (which `sp_application_crypto` depends on): `panic_impl`.</code> ### Type mismatch on runtime Make sure all types declared in runtime is satisfied. Also check if there is any std missing in deps. <code> error: target is not supported, for more information see: https://docs.rs/getrandom/#unsupported-targets --> /JHSUAHH7635763/justinpham/.cargo/registry/src/github.com-1ecc6299db9ec823/getrandom-0.2.2/src/lib.rs:213:9 | 213 | / compile_error!("target is not supported, for more information see: \ 214 | | https://docs.rs/getrandom/#unsupported-targets"); | |_________________________________________________________________________^ error[E0433]: failed to resolve: use of undeclared crate or module `imp` --> /JHSUAHH7635763/justinpham/.cargo/registry/src/github.com-1ecc6299db9ec823/getrandom-0.2.2/src/lib.rs:235:5 | 235 | imp::getrandom_inner(dest) | ^^^ use of undeclared crate or module `imp` </code>