Rust
https://gyazo.com/e83c29c7de7f97e8bc665d3d731a11fe
Rust Programming Language
mascot
Ferris
Rustacean.net: Home of Ferris the Crab
https://gyazo.com/d65b4d6b6bf32cfc1fbc92130c4c485b
文書
Rust Documentation
Home | Rustの日本語ドキュメント/Japanese Docs for Rust
std - Rust
標準 library は std crate
Tour of Rust
日本語譯が有る
Introduction - Effective Rust
Rust Playground
安裝
asdf-rust (asdf-vm) は rustup を叩いてゐる。Rust stable を入れられる
https://github.com/ne-sachirou/dotfiles/blob/master/roles/rust/tasks/main.yml
開發道具
project 管理
Cargo
formatter
rust-lang/rustfmt: Format Rust code
$ rustup component add rustfmt
$ cargo fmt
$ cargo fmt --all -- --check
linter
$ cargo c
$ cargo check
$ cargo b
$ cargo build
rust-lang/rust-clippy: A bunch of lints to catch common mistakes and improve your Rust code
$ rustup component add clippy
$ cargo clippy
$ cargo clippy -- -D warnings
test
$ cargo t
$ cargo test
$ cargo t --no-fail-fast -- --nocapture
$ cargo fmt --all -- --check && cargo clippy -- -D warnings && cargo t --no-fail-fast -- --nocapture
fail fast にするのに cargo check を入れても好い
$ cargo fmt --all -- --check && cargo c && cargo clippy -- -D warnings && cargo t --no-fail-fast -- --nocapture
documentation
rustdoc
What is rustdoc? - The rustdoc book
$ cargo doc
依存更新
$ cargo update
Cargo.lock を書き換へる
Language Server
rust-lang/rls: Repository for the Rust Language Server (aka RLS)
$ rustup component add rls rust-analysis rust-src
Emacs.iconrust-lang/rust-mode: Emacs configuration for Rust
GitHub Actions
Unofficial GitHub Actions for Rust
好く使ふ library
https://crates.io/crates?sort=downloads
非同期處理
Getting Started - Asynchronous Programming in Rust
async-std
Introduction - Async programming in Rust with async-std
Tokio
WAF (Web Application Framework)
Actix Web | A powerful, pragmatic, and extremely fast web framework for Rust.
Also have HTTP client
WebSocket implemented
HTTP/2 implemented
actix-web is based on actix: actor framework like ScalaScala.icon's Akka and ErlangErlang.icon/OTP. actix is based on tokio.
WebAssemblyWebAssembly.icon
cargo-web
wasm-bindgen
wasm-pack
yewstack/yew: Rust / Wasm framework for building client web apps
webpackwebpack.icon
rustwasm/rust-webpack-template: Kickstart your Rust, WebAssembly, and Webpack project!
ErlangErlang.icon NIF
rusterlium/rustler: Safe Rust bridge for creating Erlang NIF functions
構文解析
parser generator
ANTLR4
antlr_rust - Rust
Rust target
antlr4/cpp-target.md at master · antlr/antlr4
rust-lang/rust-bindgen: Automatically generates Rust FFI bindings to C (and some C++) libraries.
parser combinator
affine 型、affine 論理
分離論理
C++ の smart ptr
C++20スマートポインタ入門 #C++ - Qiita