mirror of https://github.com/rust-lang/nomicon
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.2 KiB
72 lines
2.2 KiB
# The Rustonomicon
|
|
|
|
The Dark Arts of Advanced and Unsafe Rust Programming
|
|
|
|
Nicknamed "the Nomicon."
|
|
|
|
## NOTE: This is a draft document, and may contain serious errors
|
|
|
|
> Instead of the programs I had hoped for, there came only a shuddering
|
|
blackness and ineffable loneliness; and I saw at last a fearful truth which no
|
|
one had ever dared to breathe before — the unwhisperable secret of secrets — The
|
|
fact that this language of stone and stridor is not a sentient perpetuation of
|
|
Rust as London is of Old London and Paris of Old Paris, but that it is in fact
|
|
quite unsafe, its sprawling body imperfectly embalmed and infested with queer
|
|
animate things which have nothing to do with it as it was in compilation.
|
|
|
|
This book digs into all the awful details that are necessary to understand in
|
|
order to write correct Unsafe Rust programs. Due to the nature of this problem,
|
|
it may lead to unleashing untold horrors that shatter your psyche into a billion
|
|
infinitesimal fragments of despair.
|
|
|
|
## Requirements
|
|
|
|
Building the Nomicon requires [mdBook]. To get it:
|
|
|
|
[mdBook]: https://github.com/rust-lang/mdBook
|
|
|
|
```bash
|
|
cargo install mdbook
|
|
```
|
|
|
|
### `mdbook` usage
|
|
|
|
To build the Nomicon use the `build` sub-command:
|
|
|
|
```bash
|
|
mdbook build
|
|
```
|
|
|
|
The output will be placed in the `book` subdirectory. To check it out, open the
|
|
`index.html` file in your web browser. You can pass the `--open` flag to `mdbook
|
|
build` and it'll open the index page in your default browser (if the process is
|
|
successful) just like with `cargo doc --open`:
|
|
|
|
```bash
|
|
mdbook build --open
|
|
```
|
|
|
|
There is also a `test` sub-command to test all code samples contained in the book:
|
|
|
|
```bash
|
|
mdbook test
|
|
```
|
|
|
|
### `linkcheck`
|
|
|
|
We use the `linkcheck` tool to find broken links.
|
|
To run it locally:
|
|
|
|
```sh
|
|
curl -sSLo linkcheck.sh https://raw.githubusercontent.com/rust-lang/rust/master/src/tools/linkchecker/linkcheck.sh
|
|
sh linkcheck.sh --all nomicon
|
|
```
|
|
|
|
## Contributing
|
|
|
|
Given that the Nomicon is still in a draft state, we'd love your help! Please
|
|
feel free to open issues about anything, and send in PRs for things you'd like
|
|
to fix or change. If your change is large, please open an issue first, so we can
|
|
make sure that it's something we'd accept before you go through the work of
|
|
getting a PR together.
|