-
Notifications
You must be signed in to change notification settings - Fork 63
cargo: Support ash 0.34 all the way up to ash 0.37
#104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
61e0fb1 to
25a8c6e
Compare
ash 0.37 and ash-window 0.10ash 0.34 all the way up to ash 0.37
|
Changed to a range match for the crate for more versatility; see the updated PR description for more details. Note that we could theoretically support back to |
|
I tried using this branch but got conflicts with the other libraries my project uses; gpu-allocator = { git = "https://github.com/Traverse-Research/gpu-allocator.git", branch = "ash-0.37" }Cargo tree of interest: I thought that because my code provides I guess this would be fine if the field names stayed the same and everything was basic types, but in these cases the ABI of the types themselves changed. Any advice for downstream projects? |
I don't think there's a case where types from different versions of the same crate are considered compatible by This change, as the title implies, makes In any case, when running
Takeaway: Don't accept duplicate All in all I'm not sure if this range is the right approach. On the one hand it allows the latest version of At the same time we'll be drastically reducing the frequency of breaking releases for |
Using a ranged semver here allows us to publish non-breaking patch releases whenever bumping to a new - compatible! - `ash` release. The upper bound serves to protect against breaking `ash` changes that may make this crate fail to compile, and is easy to bump whenever we've validated the next version to be compatible. Note that the examples are updated to use the latest `ash 0.37` and `ash-window 0.10.0`, containing breaking improvements around returning raw pointers to required extension string literals instead of `CStr` static borrows.
|
@MarijnS95 Thank you - I simply forgot to |
BeastLe9enD
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, I tested it (including all examples), it works as it should.
Using a ranged semver here allows us to publish non-breaking patch releases whenever bumping to a new - compatible! -
ashrelease. The upper bound serves to protect against breakingashchanges that may make this crate fail to compile, and is easy to bump whenever we've validated the next version to be compatible.Note that the examples are updated to use the latest
ash 0.37andash-window 0.10.0, containing breaking improvements around returning raw pointers to required extension string literals instead ofCStrstatic borrows.