Commits here fix compile errors when building with Zig 0.14.0-dev.3460+6d29ef0ba, release is expected to be very soon.
I have not migrated deprecations which are not hard errors for now, like in containers initializations (.{} vs decl literals) and build.zig, if you want I can migrate them too.
I'm not very proficient in atomics stuff, so I'd like your input on this. All other commits should be safe and easy to review:
Note: for fence deprecation I went with second option listed in Conditional Barries section of https://github.com/ziglang/zig/pull/21585:
Conditionally duplicate the desired store or load with the fence's ordering.
For example:
if(counter.rc.fetchSub(1,.release)==1){_=counter.rc.load(.acquire);
The Acquire will synchronize-with the longest release-sequence in rc's modification order, making all previous decrements happen-before the deinit().
Commits here fix compile errors when building with Zig `0.14.0-dev.3460+6d29ef0ba`, release is expected to be very soon.
I have not migrated deprecations which are not hard errors for now, like in containers initializations (`.{}` vs decl literals) and `build.zig`, if you want I can migrate them too.
I'm not very proficient in atomics stuff, so I'd like your input on this. All other commits should be safe and easy to review:
> Note: for `fence` deprecation I went with second option listed in `Conditional Barries` section of https://github.com/ziglang/zig/pull/21585:
> Conditionally duplicate the desired store or load with the fence's ordering.
> For example:
```zig
if (counter.rc.fetchSub(1, .release) == 1) {
_ = counter.rc.load(.acquire);
```
> The Acquire will synchronize-with the longest release-sequence in rc's modification order, making all previous decrements happen-before the deinit().