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.
master
- 0.2.1
- Change all occurrences of
var
as argument type toanytype
.
- Change all occurrences of
- 0.2
- Allow the use of
.{}
where previouslystruct {}
was required.
- Allow the use of
- 0.1
- Initial implementation