rust
Solving Rust Data Modeling with View-Types: A Macro-Driven Approach
In the previous article, Patterns for Modeling Overlapping Variant Data in Rust, six different approaches to modeling overlapping data structures were explored, each with their own trade-offs between type safety, code duplication, and API flexibility. Today, I want to introduce a solution that addresses many of these challenges: the view-types macro.
Patterns for Modeling Overlapping Variant Data in Rust
When building complex systems in Rust, one of the fundamental challenges developers face is how to organize their data structures to maintain type safety, avoid code duplication, keep their API clean, and remain flexible to changes. This article explores six different approaches to data modeling using a search engine as our example, examining the trade-offs between each approach where fields between search types are overlapping.
Should You Really Ever Use ArrayVec or SmallVec or TinyVec As Your Go To Vec?
Definitions
Introducing indices
Introducing error_set: A Zig-Inspired Approach to Error Handling in Rust
rust_core 0.4 Release and Project Update
Announcing activate: A sane way to manage environment configuration
Recently I got sick of the way I had different imperative ways of managing environments across language domains and having to re-configure things locally to replicate QA bugs, plus the hassle of working in a monorepo. I am also a big fan of tools like direnv
and that inspired me to create activate.
Announcing Rust Core in Dart: Program in Dart Like You Would in Rust
For Rust developers involved in programming with Dart, or Dart developers interested in idiomatic and safe programming, we have developed “rust_core,” a package designed to implement Rust’s core library in Dart. Result
, Option
, Cell
, OnceCell
, LazyCell
, etc. Are all done, along with nearly 200 extension methods for different scenarios, such as Future<Result<S,F>>
, Result<Option<S>,F>
, Result<S?,F>
, etc. just to name a few.
dart
The Result Type In Dart
Every modern programming language has error handling. Like Python, Dart chose the unchecked try-catch catch pattern, Java went with checked try-catch pattern, Zig went with Error Unions, and Rust went the Result
type.
Package Highlight - dart_mappable
rust_core 0.4 Release and Project Update
Announcing Rust Core in Dart: Program in Dart Like You Would in Rust
For Rust developers involved in programming with Dart, or Dart developers interested in idiomatic and safe programming, we have developed “rust_core,” a package designed to implement Rust’s core library in Dart. Result
, Option
, Cell
, OnceCell
, LazyCell
, etc. Are all done, along with nearly 200 extension methods for different scenarios, such as Future<Result<S,F>>
, Result<Option<S>,F>
, Result<S?,F>
, etc. just to name a few.
Anyhow v1.2.0 Migration to rust_core
package: anyhow