Skip to content
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

Minimum supported Rust version #531

Closed
francesca64 opened this issue May 20, 2018 · 5 comments
Closed

Minimum supported Rust version #531

francesca64 opened this issue May 20, 2018 · 5 comments
Labels
C - needs discussion Direction must be ironed out S - meta Project governance

Comments

@francesca64
Copy link
Member

francesca64 commented May 20, 2018

I've noticed that we don't seem to pin to a specific stable Rust version on CI. Now that 1.26 changed match behavior, it's very likely someone's accidentally going to make winit unusable for anyone using an older version.

So, how far back do we want to support?

@francesca64 francesca64 added C - needs discussion Direction must be ironed out S - meta Project governance labels May 20, 2018
@elinorbgr
Copy link
Contributor

wayland-client requires rust >= 1.20.0, and this is tested so unlikely to change unless absolutely needed.

So, I guess this puts a lower-bound onto what winit can require.

@b-r-u
Copy link
Contributor

b-r-u commented May 20, 2018

parking_lot requires Rust 1.24.0 and with some small changes winit also compiles with 1.24.0.
Edit: @francesca64 already mentioned these changes.

@francesca64
Copy link
Member Author

1.20.0 is what I was hoping for, since I have some ideas for using associated constants.

I didn't realize that parking_lot requires 1.24.0, or I would've raised this issue sooner. I'd say "well, it's probably fine, since no one's complained about it", but that doesn't mean anything, since almost no one's used winit 0.14.0 in the first place.

Though, I don't know how important it really is that we support older versions; I think the main argument is for people who install Rust from a package manager instead of rustup?

@b-r-u
Copy link
Contributor

b-r-u commented May 29, 2018

Keeping a minimum supported Rust version is also nice because it ensures that CI doesn't fail for dependent crates that check a specific Rust version, although this is usually only the case for more low-level crates.

As parking_lot is unlikely to support versions older than 1.24 (Amanieu/parking_lot@bf0fa86), I tried replacing it with std::sync::Mutex and discovered that winit also requires 1.24 because std::mem::size_of was not const before.

So maybe this is not worth the trouble and winit should embrace Rust 1.24?

@francesca64
Copy link
Member Author

I'm fine with 1.24, though I'm not sure how to specify that for CI other than Travis.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C - needs discussion Direction must be ironed out S - meta Project governance
Development

No branches or pull requests

3 participants