Contributor
lesderid

Reference-Counted Data Structures for D


Mentors
Russel Winder, wilzbach, Andrei Alexandrescu
Organization
D Programming Language

Currently, D’s built-in data structures (arrays and associative arrays) and Phobos collections (e.g. std.container.rbtree) rely on garbage collection. This has a number of issues, including the inability to use them when compiling with -betterC, GC pauses, and memory usage being nondeterministic.

The goal of this project is to implement @nogc @safe versions of common data structures through the use of reference counting for memory management. Reference counting is already being used with success by other systems programming languages (such as C++) for the same purpose. With recent work by Eduard Staniloiu on __RefCount, an official implementation of these collections can be added to D’s standard runtime.