All Projects → DutchGhost → zorrow

DutchGhost / zorrow

Licence: MIT license
Borrowchecker in Zig

Programming Languages

Zig
133 projects

Zorrow

This is a userlevel implementation of borrowchk in Zig.

This system is not borrowchk, as it requires to pass in unique types for operations like acquiring a borrow, and reading from it. This library does not check for uniqueness of the types passed in, it's up to the programmer to do this correctly. An example of what is ment by unique type:

var cell = RefCell(usize, opaque {}).init(10);

var borrow = cell.borrow(opaque {});
defer borrow.release();

var value = borrow.read(opaque {});

Here we see opaque {} three times. it is required to pass those in, as Zorrow heavily relies on unique types passed into it's API.

Minimum supported Zig

master

Recent changes

  • 0.2.1
    • Change all occurrences of var as argument type to anytype.
  • 0.2
    • Allow the use of .{} where previously struct {} was required.
  • 0.1
    • Initial implementation

Contributors

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].