Update bindgen to version 0.22 #16
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit updates
bindgen
to version 0.22, enabling support for newer Clang versions (3.6 to 3.9).The transition to
bindgen
>= 0.20 brings a few changes, but the biggest one is the fact that theBuilder::remove_prefix
method has not been re-implemented (and it seems they don't plan to re-implement it, at least not this way, see rust-lang/rust-bindgen#428), therefore breaking thev8-sys
API, as all thev8::function
are nowv8::v8_function
.However, I don't think this is a big deal, as the
v8-sys
API isn't stable yet, and a-sys
crate isn't supposed to have a pretty API anyway. Obviously, this commit updatesv8
crate in order to take this change into account, hence the pretty big diff.The other (non-breaking) changes this transition brings are :
bindgen
now understands that some parameters are actually booleans, so several0
s/1
s have been replaced bytrue
s/false
s accordingly;usize
types are nowu64
.clang::TypeKind::Elaborated
(since 3.9 I believe), and recognises v8'sLocal<>
types as such, so thebuild.rs
script has been updated to handle both cases.