# 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>