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

[1.0] Commit to supporting a specific Rust version #148

Closed
crumblingstatue opened this issue Oct 22, 2016 · 5 comments
Closed

[1.0] Commit to supporting a specific Rust version #148

crumblingstatue opened this issue Oct 22, 2016 · 5 comments
Milestone

Comments

@crumblingstatue
Copy link
Collaborator

The 1.0 release should guarantee that it builds with a specific Rust version (and later), so new minor versions of our crate don't break when building with the same Rust compiler.

We should also add a Travis test for that specific version in addition to "stable".

@crumblingstatue
Copy link
Collaborator Author

crumblingstatue commented May 9, 2017

I would really like to wait for at least associated_consts and pub_restricted in Rust to stabilize before making the commitment.

pub_restricted will most likely be stable in Rust 1.18. I'm not sure about associated_consts.

@crumblingstatue
Copy link
Collaborator Author

associated_consts will be stable in 1.20.

I'm setting 1.20 as a target for stabilization.

@crumblingstatue
Copy link
Collaborator Author

Hmm... Might want to wait until extern types are stable, as using empty enums for the various Ref types might be unsound.

@crumblingstatue crumblingstatue added this to the 1.0 milestone Dec 12, 2017
@crumblingstatue
Copy link
Collaborator Author

crumblingstatue commented Jan 7, 2018

#[repr(transparent)] could also be used to wrap the bindgen generated types instead of declaring separate extern types.

EDIT: repr(transparent) requires non-zero sized types, and bindgen generates a zero-sized type.

I think until extern_types are stable, I'll just copy what bindgen does and put a _unused: [u8; 0] field in these types.

@crumblingstatue
Copy link
Collaborator Author

Honestly, most Rust crates just update their MSRV willy-nillly, so I don't see any reason why we should do otherwise.

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

No branches or pull requests

1 participant