Rust
Rust is a language that I’ve been in love with for ages.
It’s also one of the most frustrating languages I’ve ever used. This is because I’ve never written enough rust to actually be good at it.
It also has the best documentation of any language.
Swift/iOS Interop
Follow this article
Add the iOS architectures to rustup
, as well as the tools for building universal iOS binaries (cargo-lipo
) and C headers from rust (cbindgen
).
rustup target add aarch64-apple-ios armv7-apple-ios armv7s-apple-ios x86_64-apple-ios i386-apple-ios
cargo install cargo-lipo
cargo install cbindgen
Serializing json in rust.
Follow this guide using serde.
Essentially:
Add to Cargo.toml
’s [Dependencies]
section:
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
Make your struct derive Serialize
, and pass it to serde_json::to_string()
#[derive(Serialize)]
struct Thing {
x: i32
}
fn main() {
let thing = Thing { a: 1 }
println!("{}", serde_json::to_string(&thing).unwrap());
}
Rust on an AVR microcontroller
Source-ish: Rust on Arduino.
You can also use this to abstract for pretty much any AVR microcontroller. I have enough bare microcontrollers to last me a lifetime.
🚨 Warning, this content is out of date and is included for historical reasons.
There’s a bug in the rust compiler right now and you can’t use a rust toolchain after 2021-01-07. To mitigate this, add the following to your project’s Cargo.toml
:
[toolchain]
channel = "nightly-2021-01-07"
components = ["rust-src"]
Also check out avr-rust/ruduino
for a library that provides reusable components for an arduino uno/atmega 328p.
Links
- Too Many Lists - a learn rust thing that’s really well written and actually fun.
- structopt is a way to do typed command line arguments.
- Rust cookbook.
- Command Line Apps in Rust is a small book that serves as a great intro to CLI apps in rust.
- Rust Koans offers a humorous explanation at some of the language paradigms.
- Rust Cheatsheet.
- Rust by example
Last updated: 2021-05-21 11:56:30 -0700