## extern crate
In source code of some libraries, I see extern crate. I cannot use it in my code, how does it work?
https://doc.rust-lang.org/reference/items/extern-crates.html
> An extern crate declaration specifies a dependency on an external crate.
## Procedural Macros
https://doc.rust-lang.org/reference/procedural-macros.html
- [Function-like macros](https://doc.rust-lang.org/reference/procedural-macros.html#function-like-procedural-macros) - custom!(...)
- [Derive macros](https://doc.rust-lang.org/reference/procedural-macros.html#derive-macros) - #[derive(CustomDerive)]
- [Attribute macros](https://doc.rust-lang.org/reference/procedural-macros.html#attribute-macros) - #[CustomAttribute]