Get Cova tests passing on latest Zig master
NB: I understand this PR conflates significant styling changes with the actual fixes necessary to achieve tests passing on Zig master.
However, in this case I noticed that the styling was egregiously difficult to follow for any kind of contribution, as an enormous diff would be generated just by saving a file. Notably:
- Inconsistent-but-frequent trailing whitespace -- typically removed as a best-practice standard, and built into many modern editors on filesave as the default. This alone causes quite a few lines of diffs from saving.
- Zero adherence to
zig fmt-- as a Zig development best practice, most Zig-related tooling in editors auto-applies azig fmtpass on file save. In fact, many projects incorporate azig fmt --checkin their CI as well, andzig fmtis also used as a pre-pass prevention of characters that are disallowed by the compiler (e.g. removing tabs).
In addition, I struggled to understand the convention for line lengths in this project.
While I normally wouldn't try to suggest style changes in the midst of any other PR, I hope it is understandable that the styling of this project made contribution difficult enough that it was an order of magnitude less effort to simply allow best-practice integrated styling tools to run their course.
I did apply another manual pass over all the files changed to try to reduce stylistic changes as much as possible from the original project, notably with added/removed commas and newlines so that zig fmt would keep the same indentation structure.
As for the actual relevant changes here:
- Added the newly necessary
.fingerprintfield to thebuild.zig.zon - Updated the Zig badge in README to accurately reflect version
- Removed fields being used in a test that didn't exist in struct definition
And, minor addendum of adding a .gitignore for .zig-cache that is generated when running tests.
Hey, I appreciate your interest in Cova.
Regarding the styling issues, I am not a fan of zig fmt's opinions and have decided to purposefully keep it disabled for the time being. I understand that this is frustrating from a contribution standpoint, but it's where I currently stand. As Zig and Cova get closer to v1.0, I'll create contribution guidelines with a more satisfactory answer to this issue.
Regarding Zig v0.15 compatibility, Cova main is intended to track Zig Stable. It looks like I left the v0.14.0 nightly tag in by mistake and I appreciate you pointing that out. I'll also be creating a zig-nightly branch that'll be periodically updated to support the nightly releases.