good artists copy; great artists steal. - Pablo Picasso
The project's goal is to delve into rust features for languages and standard libraries. Coding is preferable to speaking.
- Rust Installation
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Rust Codes Installation
rustup update
rustup toolchain install stable-aarch64-unknown-linux-gnu
rustup component add rust-src rustc-dev llvm-tools-preview # rust source code
You may read the source code as long as you have rust source code and rust-analyzer installed.
I use vscode to create, build, execute, and clean the project in Ubuntu. To make the project easier to use, I created the tasks.json and launch.json files. Using the keyboard shortcut "command + shift + B," you may choose the different commands in tasks.json. To debug the various source codes, press the F5 button.
vim ~/.cargo/config
[http]
check-revoke = false
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "https://mirrors.ustc.edu.cn/crates.io-index"
# registry = "git://mirrors.ustc.edu.cn/crates.io-index"
- Basic Grammar Code
- Composition Data Type
- Module System
- Generic and Trait Code
- Lifetime Code
- Automation Tests
- Smart Pointer Code
- The Difference of ref_& Code
- Active Mutable Borrow and Immutable Borrow Code
- Double Linked List Code
- Closure Code
- Memory Management Code
- Concurrency Programming
- Message Passing Code
- Shared Memory Code Mutex Dead Lock Condition Variable Dead Lock
- Everything is Pattern Code
- Asynchronous Programming Code
- Unsafe Programming and Foreign Function Interface (FFI) Code
- Concurrency Programming
Please open pull requests if you want to add new features.
- Standard Library
- The Rust Programming Languages
- Rust by Example
- tikv
- Learn Rust by writing Entirely Too Many linked lists
- libs.rs
- crates.io
More information document of agreement