gfx-rs / gfx

[maintenance mode] A low-overhead Vulkan-like GPU API for Rust.
http://gfx-rs.github.io/
Apache License 2.0
5.35k stars 547 forks source link

Minimum Supported Rust Version #2920

Open Lokathor opened 5 years ago

Lokathor commented 5 years ago

At the moment, travis is set to just use stable Rust.

It'd be very good if, going forward, foundational crates such as gfx-hal (and its support crates) could pick a specific minimum rust version and try to stick to it when possible. Any bump in minimum rust version should be considered a breaking change that locks out some users from using the crate at all (you can't always upgrade rustc easily, or at all).

If the minimum rust version was simply set to 1.36 (current stable) and then kept there unless it was really necessary to bump the version, that'd be very nice.

kvark commented 5 years ago

Thank you for filing this!

Any bump in minimum rust version should be considered a breaking change that locks out some users from using the crate at all (you can't always upgrade rustc easily, or at all).

That's something I completely missed from your original post in https://github.com/rust-gamedev/wg/issues/28 . It sounds very restrictive to me. I feel like there is a general discussion about semver and Rustc versions that may either have already taken place somewhere, or needs to be.

Lokathor commented 5 years ago

that doesn't mean that you can't bump your minimum rust version, just that every time you do there's a real danger that a user won't be able to update their compiler and they end up being left behind. This is true even if you don't think about it, so you might as well try to be aware of it.

Lokathor commented 5 years ago

Ah, and there is an RFC for this to become a cargo file attribute:

https://github.com/rust-lang/rfcs/pull/2495