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

Mention winapi #1427

Closed
madsmtm opened this issue Jan 13, 2022 · 4 comments · Fixed by #1460
Closed

Mention winapi #1427

madsmtm opened this issue Jan 13, 2022 · 4 comments · Fixed by #1460
Labels
question Further information is requested

Comments

@madsmtm
Copy link

madsmtm commented Jan 13, 2022

I think it's absolutely lovely that people at Microsoft are stepping up and making these official bindings!

However, I do have a minor gripe: I find it sad that the winapi crate, which has served the Rust community faithfully for many years until this came along, isn't mentioned anywhere. I get that most projects should rather want to use this one, but winapi has at least one thing that this crate doesn't: An MSRV of 1.6.

Also, I'd be nice with an "upgrade guide" or similar, which mentions some major differences and pitfalls when migrating from winapi.

@kennykerr
Copy link
Collaborator

As I mentioned here, we have plans to provide more documentation in future. Help with migrating code is on the list for consideration.

Regarding MSRV, the windows crate is a much newer library that takes advantage of many of the advances to the Rust language since 1.6 was released in 2016! 😉 Basic things like C-style unions weren't even available back then.

Having said that, we can probably keep track of the min supported version with some basic validation in the CI build. I would expect it to be different between the windows and windows-sys crates as the latter has far fewer dependencies on newer features like const functions.

@kennykerr kennykerr added the question Further information is requested label Jan 13, 2022
@madsmtm
Copy link
Author

madsmtm commented Jan 13, 2022

Yeah, I don't expect windows to work on such old Rust versions, but (depending on what windows/windows-sys's MSRV end up being) winapi may be more or less useful for people whose setup requires that.

Thanks for the kind answer!

@riverar
Copy link
Collaborator

riverar commented Jan 13, 2022

For those reading and are unaware, MSRV is an acronym used in the Rust community to condense Minimum Supported Rust Version.

@eddyb
Copy link

eddyb commented Nov 23, 2022

The spirit of this issue wasn't about MSRV at all, but the historical note about the winapi crate, could this issue be reopened until that is addressed? (even if it might take a while, it's still good to track it)

On a more personal note, it's really disorientating to come across something that doesn't mention prior art, and with the amount of information we're exposed to, it's easy to start questioning remembered history that's not explicitly mentioned (before looking it up and reassuring oneself that no Mandela effect has occurred).

As a positive example I saw recently, the new(er) unicode-ident crate's README mentions not one but four existing implementations (in order to position itself as the more performant alternative).
It's immediately clear that it's meant to supersede the old popular choice in the ecosystem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants