the #history of the #async #Rust disaster
on 02026-09-11#Rust str (the actual text itself) vs. String (an owned string)
#Rust’s Option type has an unwrap_or method used for providing a default
#Rust MIME-type guesser using file content
on 02026-06-03As of 02024, #Rust’s assert!, assert_eq!, etc., are checked in release builds as well as debug builds; there’s a separate debug_assert for when you don’t want that.
#Rust tuple struct types for static type guarantees (example given is miles vs. kilometers, previously was years vs. days) #documentation
on 02026-05-28Public struct types in #Rust can have private fields. #documentation
on 02026-05-28The #Rust #MsgPack library rmp has a serde interface in the rmp-serde crate
#Yt-dlp is abandoning the #Bun #JS runtime because #Anthropic has discarded the old #Zig codebase and switched to #Rust generated by #AI #LLMs. “As of the next yt-dlp and/or ejs release, only Bun versions 1.2.11 through 1.3.14 will be supported.” #neural-networks
on 02026-05-22discussion of embedded #Rust and its embedded OS "Ariel" on #microcontrollers. Lots of useful information about Rust stability commitments, etc.
on 02026-05-04review of the dozens of #security bugs found this month in #uutils, the #Rust reimplementation of coreutils/shellutils
on 02026-04-29"Crubit" is a bidirectional bindings generator for C++ and Rust, with the goal of integrating the C++ and #Rust ecosystems.
on 02025-09-05how #Rust makes your code more maintainable. #toread
on 02025-08-27my post about how #Rust’s approach to handling #Unicode introduces unnecessary bugs into command-line programs
on 02025-08-24The #Rust official #documentation ("The Rust Programming Language") recommends crashing when your command-line arguments aren’t valid #UTF-8! #Unicode #braindamage
on 02025-08-23the #Rust crate for dynamically loading libraries
on 02024-12-27#Rust uses the libloading crate for dlopen and the like normally.
on 02024-12-27Evan Obadia’s “Borrow checking, RC, GC, and the Eleven (!) Other Memory Safety Approaches: The Memory Safety Grimoire, Part 1” for example in #Rust, but also #Cyclone, #Ada SPARK, Microsoft Verona, Pony, Odin, Zig, Koka, etc. Obadia is the author of #Vale. #toread
on 02024-12-19#Redis controversy over #trademark on redis-rs #Rust crate; #Antirez offers to mediate
on 02024-11-27#video #toread on regretting using #Rust
on 02024-08-27apparently #GCC 14.1 includes a #Rust frontend from the #gccrs project
on 02024-06-23#toread on #Rust data races and race conditions #concurrency
on 02024-06-16#lcamtuf complaining about #microcontroller libraries in #Rust giving him flashbacks of corporate Java
on 02024-03-06using #Rust to make a 137-byte static amd64 Linux executable. #small-is-beautiful
on 02024-03-05how to minimize #Rust binary size. #small-is-beautiful
on 02024-03-05Steve Klabnik says, “The smallest ELF executable for x86_64 rustc has produced is 138 bytes.” #Rust #small-is-beautiful
on 02024-03-05clueless article about #async in #Rust that’s based on the misconception that it’s a performance hack
on 02024-01-24more on Bunnie wanting to get #Precursor #Xous off #Rust, or at least off Rust nightly
on 02024-01-23Bunnie is critical of #Rust due to his experience on the #Precursor and #Xous. “I often ask myself “when is the point we’ll get off the Rust release train”, and the answer I think is when they finally make “alloc” no longer a nightly API. At the moment, no-std targets have no access to the heap, unless they hop on the “nightly” train, in which case you’re back into the Python-esque nightmare of your code routinely breaking with language releases.” Ugh.
#linked-lists in #Rust: pub struct List<T> {head: Link<T>} type Link<T> = Option<Rc<Node<T>>>; struct Node<T> {elem: T, next: Link<T>}
#moon-child’s implementation of parametrically polymorphic FP-persistent singly #linked-lists in #Rust with #[derive(Debug)] enum List<T> {Null, Cons(T,Arc<List<T>>)}, but you need to call .clone() on an Arc in order to share what it points to.
"Flattening ASTs" is the term Adrian Sampson gives to making an array of structs (well, unions of structs) to hold your AST, with references to earlier AST nodes represented as array indices. He claims that this gives a 2.4× #performance boost in his AST-walking interpreter microbenchmark in #Rust, due to improved spatial locality, smaller references, pointer-bumping allocation, and cheap deallocation. He also tried out iterating over the array of AST nodes to compute all their values. #compact-ASTs
on 02023-07-04#Rust on #ESP32 and other #Espressif #embedded #hardware. “This is the next quarterly update of esp-rs effort, detailing the progress over Q2 2023.”
on 02023-07-01discussion of #Rust on #ESP32 and other #Espressif #embedded #hardware
on 02023-07-01"Helix", an MPL 2.0 “postmodern” text #editor, with #Kakoune inspired multiple cursors, #Tree-sitter integration, fuzzy find, written in #Rust
on 02022-11-06a nice outline of #automatic-differentiation in #Rust, with working implementations for forward and reverse mode
on 02022-05-21"Rudra" found 264 #Rust security bugs in unsafe code, some in the standard library, including 76 CVEs.
another way to write #shaders in #Rust by the #rlsl authors at Embark. Dual-licensed X11 and Apache2. The ambition seems to be to support all of Rust on the GPU via #SPIR-V.
on 02021-11-02"rlsl" is a Rust-subset language for #shaders, deprecated in favor of rust-gpu. “Shader code can run on the CPU because rlsl is a subset of #Rust.”
on 02021-11-02"stdg" provides #graphics from shell scripts (or anything else that can do text on stdin and stdout) with a simplified PostScript-like command language — but supporting interactivity! Just 1kloc of #Rust. #smallisbeautiful
on 02020-12-01Brian “Have you ever kissed a girl?” Cantrill talks about #Rust after a couple of years of experience
on 02020-11-12Laurie Tratt explains how #Rust does traits, very similar to #Golang interfaces, but not duck-typed
on 02020-05-24#Rust as illustrated by the difficulties in building a linked list with a tail pointer, using unsafe.
#Lock-free concurrency and optimistic synchronization without #garbage-collection in #Rust. #cs
on 02019-02-01Bryan Cantrill on writing #kernels (and other OS components) in #Rust
on 02019-01-22A #property-based #testing thing for #Rust that you could use for C libraries, modeled after Hypothesis.
on 02017-10-01#Rust region inference evolution in 2015
on 02017-05-19Piston’s “image” crate for #Rust supports PNG, JPEG, GIF, ICO, and PPM, plus some decoding support for BMP, TIFF, and Webp.
on 02017-03-11overview of #JPEG with a (so far partial) decoder implementation in #Rust
on 02017-03-11#JPEG decoder library in #Rust, from Piston’s “image” crate, implements the ImageDecoder trait
on 02017-03-11Blog post announcing the discovery that #Rust’s type system is Turing-complete. #langsec
on 02017-03-11Smallfuck implemented in the #Rust type system, showing that it’s Turing-complete. #langsec
on 02017-03-11discussion thread on the new proof that the #Rust type system is Turing-complete. #langsec
on 02017-03-11a slide deck about #Rust’s affine type system, explaining borrows etc. with lots of code examples
on 02017-01-06discussion of potential advantages of #Rust other than safety
on 02017-01-05How to install #Rust from standalone installers instead of rustup. Still not sure how to bootstrap it from source.
on 02017-01-05#Rust with the FreeRTOS #embedded OS on an RTL8710 Wi-Fi dongle (similar to the ESP8266).
on 02017-01-04Raph #Levien #video on writing a modern editor in #Rust. #toread
on 02016-10-07What #Rust is hoping to do in 2017: lower learning curve, faster compiler, basic IDE support, “maturing core ecosystem” (whatever that means, possibly “that core functionality exists, is easy to find, and is of high quality”), “1.0-level” libraries for concurrency and parallelism, be well-equipped for writing servers, a more seamless FFI story, mentoring at all levels.
on 02016-09-04Zero-abstraction-cost #futures in #Rust since it no longer has “green threads”, with sequential composition, lifting functions, and AND and OR ("join" and "select") for them. Seems a lot like E promises. #concurrency
on 02016-08-11A #Rust implementation of the #Cassowary #constraint solving algorithm, one of the linear-time #algorithms for constraint layout.
on 02016-08-03#Raph-Levien lucidly explains how his new #font rasterizer "font-rs" in #Rust is the fastest (≈6× faster than FreeType). Among other things, he uses #SSE #prefix-sum to do the filling, and structures the parser as an iterator to avoid allocation. #graphics #performance
on 02016-08-03#Rust has adopted the #Alexandrescu #range #software-design under the name of “iterators”
on 02016-08-03A statically-typed #Lisp without a GC, using ownership #memory-management inspired by #Rust. Compiles to C, but has a REPL, using dynamic code loading.
on 02016-07-05how to get a #Rust hello-world executable down from its default 650K down to 8K.
on 02016-06-02#Rust is getting contaminated with undefined behavior via #LLVM. #compilers
on 02015-12-31Discussion of some criticism of #Rust. #toread
on 02015-08-10Some criticism of #Rust. #toread
on 02015-08-10