rust-sfml
rust-sfml copied to clipboard
[1.0] Commit to supporting a specific Rust version
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".
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.
associated_consts will be stable in 1.20.
I'm setting 1.20 as a target for stabilization.
Hmm... Might want to wait until extern types are stable, as using empty enums for the various Ref types might be unsound.
#[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.