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.
70 lines
2.2 KiB
70 lines
2.2 KiB
8 years ago
|
# 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/azerupi/mdBook
|
||
|
|
||
|
```bash
|
||
|
$ cargo install mdbook
|
||
|
```
|
||
|
|
||
|
### Building
|
||
|
|
||
|
To build the Nomicon:
|
||
|
|
||
|
```bash
|
||
|
$ mdbook build
|
||
|
```
|
||
|
|
||
|
The output will be in the `book` subdirectory. To check it out, open it in
|
||
|
your web browser.
|
||
|
|
||
|
_Firefox:_
|
||
|
```bash
|
||
|
$ firefox book/index.html # Linux
|
||
|
$ open -a "Firefox" book/index.html # OS X
|
||
|
$ Start-Process "firefox.exe" .\book\index.html # Windows (PowerShell)
|
||
|
$ start firefox.exe .\book\index.html # Windows (Cmd)
|
||
|
```
|
||
|
|
||
|
_Chrome:_
|
||
|
```bash
|
||
|
$ google-chrome book/index.html # Linux
|
||
|
$ open -a "Google Chrome" book/index.html # OS X
|
||
|
$ Start-Process "chrome.exe" .\book\index.html # Windows (PowerShell)
|
||
|
$ start chrome.exe .\book\index.html # Windows (Cmd)
|
||
|
```
|
||
|
|
||
|
To run the tests:
|
||
|
|
||
|
```bash
|
||
|
$ mdbook test
|
||
|
```
|
||
|
|
||
|
## 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.
|