Software Engineering

I'm a professional software engineer with many years of experience. Programming is not only my job but also a hobby. In this section of my blog I keep notes of any interesting findings that I come across at work or while working on one of my many hobby projects, reading software engineering books, etc.

Implementing a DAG in Rust

Published:

In Rust, at first glance, the ownership mechanism looks logical and simple - every value must always have exactly one owner. When the owner goes out of scope, the values it owns are automatically dropped. A value can be borrowed either through a mutable reference, of which there can be at most one at a time, or through immutable references, of which there can be more than one. In other words, there can either be a single writer or multiple readers of every value. That all makes sense and is clear in simple cases. Well, it turns out this mechanism can get pretty tricky with recursive data structures.