Update Rust crate bindgen to 0.72.1 #60
Open
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 PR contains the following updates:
0.43->0.72.1Release Notes
rust-lang/rust-bindgen (bindgen)
v0.72.1Compare Source
This is just 0.72.0 with a fix for a breaking change in clang (see #3264 and related).
Full Changelog: rust-lang/rust-bindgen@v0.72.0...v0.72.1
v0.72.0Compare Source
Added
Changed
Removed
Fixed
rustfmt --format ...paramv0.71.1Compare Source
Fixed
--versionand--generate-shell-completions(#3040)v0.71.0Compare Source
Added
ParseCallbacks::new_item_foundcallback to expose the original and final name of structs, unions and enums (#2658).field_type_namefield toFieldInfoto expose the name of the type of a field (#2863)--with-attribute-customflag (#2866)--rust-targetto any Rust version supported by bindgen (#2993)--generate-cstrflag is used for Rust targets after 1.77 under the 2021 edition (#2996)--rust-editionflag which allows to select which Rust edition to target. (#3002, #3013)unsafe externinstead ofexternin blocks for any Rust target after 1.82. (#3015)Changed
--wrap-static-fnsrelated options no longer require the experimental feature or flag (#2928)Displayimplementation instead of theDebugone forBindgenErrorinbindgen-cli(#3005)Removed
Fixed
libloadingare now wrapped inunsafeblocks when using dynamic loading (#2961)ParseCallbacks::field_visibilitycallback is now called for newtypes as well (#2967)addr_ofandaddr_of_mutmacros under the 1.51 rust version (#2988)v0.70.1Compare Source
Added
Changed
Removed
Fixed
constlayout tests were triggering theunnecessary_operationandidentity_opclippy warnings.Security
v0.70.0Compare Source
Added
Changed
bindgen-clierrors to stderr instead of stdout (#2840)Removed
Fixed
--formatter=prettypleasenot working inbindgen-cliby addingprettypleasefeature andenabling it by default for
bindgen-cli(#2789) .--allowlist-itemso anonymous enums are no longer ignored (#2827).f64::INFINITY,f64::NEG_ INFINITY,f64::NAN(#2854).Security
tempfileandrustixdue to GHSA-c827-hfw6-qwvm.v0.69.5Compare Source
Install bindgen-cli 0.69.5
Install prebuilt binaries via shell script
Download bindgen-cli 0.69.5
v0.69.4Compare Source
Added
Changed
Removed
Fixed
Security
v0.69.3Compare Source
Added
Changed
Removed
Fixed
Security
v0.69.2Compare Source
Added
Changed
Removed
Fixed
Security
v0.69.1Compare Source
Fixed
bindgen -vwithout an input header argument.v0.69.0Compare Source
Added
ParseCallbacks::header_filecallback which runs on every filename passed toBuilder::header.CargoCallbacks::newconstructor which emits a cargo-rerun linefor every input header file by default.
CargoCallbacks::rerun_on_header_filesmethod to configure whethera cargo-rerun line should be emitted for every input header file.
Changed
--wrap-static-fnsfeature was updated so function types that has noargument use
voidas its sole argument.CargoCallbacksis no longer a unit-likestruct and the
CargoCallbacksconstant was added to mitigate the breaking nature of thischange. This constant has been marked as deprecated and users will have to
use the new
CargoCallbacks::newmethod in the future.Removed
Fixed
bindgen-cliwith a static libclang.as the target's pointer size.
Self,self,crateorsuper.Security
v0.68.1Compare Source
Fixed
v0.68.0Compare Source
Added
systemABI is now supported as an option for the--override-abiflag.allowlist_itemmethod and the--allowlist-itemflag have beenincluded to filter items regardless or their kind.
Changed
Cloneimplementation for_BindgenUnionFieldhas been changed to passthe
incorrect_clone_impl_on_copy_typeClippy lint.c_unwindABI can be used without a feature gate for any Rust target versionequal to or greater than 1.71.
This comes as a result of the ABI being stabilised (in Rust 1.71).
prettyplease version.
CStrconstants when using the--generate-cstroption.
Removed
extra_assertandextra_assert_eqmacros are no longer exported.Fixed
Rust keyword that cannot be a raw identifier, such as:
self,crate,superorSelf.v0.66.1Compare Source
Removed
v0.66.0Compare Source
Added
--generate-cstrCLI flag to generate string constants as&CStrinstead of
&[u8]. (Requires Rust 1.59 or higher.)--generate-shell-completionsCLI flag to generate completions fordifferent shells.
--wrap-static-fnsoption can now wrapva_listfunctions as variadic functionswith the experimental
ParseCallbacks::wrap_as_variadic_fnmethod.ParseCallbacks::field_visibilitymethod to modify field visibility.Changed
&[u8; SIZE])instead of arrays (
[u8; SIZE]) to match UTF-8 strings.voidno longer contain areturnstatement and only call the static function instead.
--wrap-static-fnsoption no longer emits wrappers for static variadicfunctions.
--depfileorBuilder::depfilewill now properlygenerate module names and paths that include spaces by escaping them. To make
the escaping clear and consistent, backslashes are also escaped.
bitflagsdependency to 2.2.1. This changes the API ofCodegenConfig.feature when depending on
bindgenas a library.auto-generated
_bindgen_*names having a different index.always public. Now, they follow the default visibility for the type they are
in.
bitfield unit field and its related functions now have their visibility
determined based on the most private between the default visibility and the
actual visibility of the bitfields within the unit.
Removed
Remove redundant Cargo features, which were all implicit:
env_loggerandlogremoved in favor oflogginglogremoved in favor ofloggingwhichremoved in favor ofwhich-loggingannotate-snippetsremoved in favor ofexperimentalPrettyplease is available as a
Formattervariant now.v0.65.1Compare Source
Fixed
Builder::rustfmt_bindingsmethod was added back and tagged asdeprecated instead of being removed.
v0.65.0Compare Source
Added
Builder::default_visibilitymethod and the--default-visibilityflag to set the default visibility of fields. (#2338)--formatterCLI flag with the valuesnone,rustfmtandprettypleaseto select which tool will be used to format the bindings. Thedefault value is
rustfmt. (#2453)Builder::formattermethod and theFormattertype to selectwhich tool will be used to format the bindings. (#2453)
Builder::emit_diagnosticsmethod and the--emit-diagnosticsflag to enable emission of diagnostic messages under the
experimentalfeature. (#2436)
"efiapi"calling convention (#2490).ParseCallbacks::read_env_varmethod which runs everytimebindgenreads and environment variable. (#2400)ParseCallbacks::generated_link_name_overridemethod which allowoverriding the link name of items. (#2425)
enums when generating code while using the--wrap-static-fnsfeature. (#2415)Changed
voidas their single argumentinstead of having no arguments when the
--wrap-static-fnsflag is used.(#2443)
--wrap-static-fnsflag is enabled nowcontains
#includedirectives with all the input headers and all the sourcecode added with the
header_contentsmethod. (#2447)--wrap-static-fnsflag no longer usesasmlabeling and the link name of static wrapper functions is allowed tobe mangled. (#2448)
typealiases now matches the commentsof their
typedefcounterparts instead of using the comments of the aliasedtypes. (#2463)
Builder::rustfmt_bindingsmethods and the--no-rustfmt-bindingsflagare now deprecated in favor of the formatter API. (#2453)
Removed
--use-msvc-mangling,--rustfmt-bindingsand--size_t-is-usize. (#2408)Bindings::emit_warningsandBindings::warningsmethods were removedin favor of
--emit-diagnostics. (#2436)byte slices. (#2487)
v0.64.0Compare Source
Added
--with-derive-custom,--with-derive-custom-struct,--with-derive-custom-enumand--with-derive-custom-enumto add custom derives from the CLI.--experimentalflag onbindgen-cliand theexperimentalfeature on
bindgento gate experimental features whose implementation isincomplete or are prone to change in a non-backwards compatible manner.
--wrap-static-fns,--wrap-static-fns-suffixand--wrap-static-fns-pathto generate C function wrappers for
staticorstatic inlinefunctions.This feature is experimental.
Changed
enumand atypedefwith the samename.
ParseCallbacks::generated_name_overridemethod now receivesItemInfo<'_>asargument instead of a
&str.clang-syscrate version to 1.4.0 to support clang 15.void.clapdependency forbindgen-clito 4.bindgen-cliargument parser which could introduce unexpectedbehavior changes.
ParseCallbacks::add_derivesmethod now receivesDeriveInfo<'_>asargument instead of a
&str. This type also includes the kind of target type.v0.63.0Compare Source
Added
process_commentsmethod to theParseCallbackstrait tohandle source code comments.
Changed
--wrap_unsafe_opsoption is enabled.
name: &strargument forParseCallbacks::add_derivesbyinfo: DeriveInfo.1.30are being deprecated andwill be removed in the future. If you have a good reason to use any of these
targets, please report it in the issue tracker.
Removed
removed:
whitelist_recursively,hide_type,blacklist_type,blacklist_function,blacklist_item,whitelisted_type,whitelist_type,whitelist_function,whitelisted_function,whitelist_var,whitelisted_var,unstable_rust.v0.62.0Compare Source
Added
--override-abiflag to override the ABI used by functionsmatching a regular expression.
C-unwindABI in--override-abion nightlyrust.
Changed
a|b) is handled correctly butwildcard patterns (
*) are now considered invalid. The.*pattern can beused as a replacement.
ParseCallbackstrait does not require to implementUnwindSafe.Builder::parse_callbacksmethod no longer overwrites previously addedcallbacks and composes them in a last-to-first manner.
is wrapped in unsafe blocks now.
Fixed
v0.61.0Compare Source
Released 2022/10/16
Added
--sort-semanticallyflag to sort the output in a predefinedmanner (#1743).
Bindgen::emit_warningsmethod to emit warnings to stderr inbuild scripts.
--newtype-global-enumflag to generate enum variants asglobal constants.
--default-non-copy-union-styleflag to set the default styleof code used to generate unions with non-
Copymembers.--bindgen-wrapper-unionflag to mark any union that matches aregex and has a non-Copy member to use a bindgen-generated wrapper for its
fields.
--manually-drop-unionflag to mark any union that matches aregex and has a non-
Copymember to useManuallyDrop.--merge-extern-blocksflag to merge severalexternblocksthat have the same ABI.
--no-size_t-is-usizeflag to not bindsize_tasusize.BuilderimplementsClone.Changed
--enable-function-attribute-detectionflag is also used to detectdiverging functions so the generated bindings use
!as the return type.--size_t-is-usizeflag is enabled by default.<stdint.h>types are no longer emitted.blocklistoptions now can be used to block objective-C methods.core::ffimodule is used the sized raw integer typesinstead of
std::os::rawif the Rust target version is1.64or higher andthe
--use-coreflag is enabled.bindgenCLI utility must be installed usingcargo install bindgen-clinow.bindgenas a library no longer pulls clap and any other CLIrelated dependencies.
Fixed
v0.60.1Compare Source
Released 2022/06/06
Fixed
v0.60.0Compare Source
Released 2022/06/05
Added
DebugandCopyto support C and Objective-C structs. (#2176)--version --verbosenow prints clang version (#2140).--allowlist-fileoption (#2122).Fixed
#[macro_use]use. (#2176)BINDGEN_EXTRA_CLANG_ARGSis respected on the CLI now (#1723).#[must_use]in typedefs (#2206).Changed
Removed
v0.59.2Compare Source
Released 2021/11/26
v0.59.1Compare Source
Released 2021/07/26
Fixed
v0.59.0Compare Source
Released 2021/07/20
Added
Fixed
Changed
v0.58.1Compare Source
Released 2021/04/06
Added
bindgen::Builder::whitelist_recursively(deprecated in favor ofbindgen::Builder::allowlist_recursively). [#2022][]v0.58.0Compare Source
Released 2021/04/03
Added
[#2004][]
[#2013][]
Fixed
bindings more portable where unions could return garbage data (#1984)
Changed
Deprecated
bindgen::Builder::whitelist_typeis deprecated in favor ofbindgen::Builder::allowlist_type. [#1812][]bindgen::Builder::whitelist_functionis deprecated in favor ofbindgen::Builder::allowlist_function. [#1812][]bindgen::Builder::whitelist_varis deprecated in favor ofbindgen::Builder::allowlist_var. [#1812][]--whitelist-typeis deprecated in favor of--allowlist-type. [#1812][]--whitelist-functionis deprecated in favor of--allowlist-function. [#1812][]--whitelist-varis deprecated in favor of--allowlist-var. [#1812][]bindgen::Builder::blacklist_typeis deprecated in favor ofbindgen::Builder::blocklist_type. [#1812][]bindgen::Builder::blacklist_functionis deprecated in favor ofbindgen::Builder::blocklist_function. [#1812][]bindgen::Builder::blacklist_itemis deprecated in favor ofbindgen::Builder::blocklist_item. [#1812][]--blacklist-typeis deprecated in favor of--blocklist-type. [#1812][]--blacklist-functionis deprecated in favor of--blocklist-function. [#1812][]--blacklist-itemis deprecated in favor of--blocklist-item. [#1812][]Removed
Fixed
Security
v0.57.0Compare Source
Released 2021/02/01
Added
Fixed
v0.56.0Compare Source
Released 2020/11/26
Added
From<ChildClass> for ParentClassas well asTryFrom<ParentClass> for ChildClass(#1883).dynamic_library_name(#1846).Defaulton a per-struct basis (#1930).Changed
(#1891).
Fixed
v0.55.1Compare Source
Released 2020/08/24.
Fixed
generate valid Rust code. (#1882).
v0.55.0Compare Source
Released 2020/08/23.
Removed
Added
Added options to avoid deriving the Debug trait (#1858).
Added options to allow to override the default anonymous field prefix (#1859).
Added options to allow to override the default macro integer type from the
command line (#1863).
Changed
Typed anonymous enums now generate better code (#1850).
Objective-C bindings are more idiomatic now (#1847).
Updated to clang-sys 1.0. Minimum supported rust version is 1.40 as
a consequence of that change.
Fixed
Fixed constness of multi-dimensional arrays in some cases (#1861).
Fixed wrong target given to clang when compiling with a target which doesn't
match the target clang expects (#1870, #1878).
Fixed wrong flags being computed for cross-compilation cases where the target
wasn't explicitly provided via clang flags (#1872).
Thanks again to all the awesome contributors that sent patches included in this
release!
v0.54.1Compare Source
Released 2020/07/06.
Yanked: The change in #1798 is technically breaking, see PR for details.
Added
Added ParseCallbacks::func_macro to be able to process function-like macros.
(#1792).
Allowed IntKind::Custom to represent paths instead of idents (#1800).
Changed
Generated comment now includes the bindgen version, and can be disabled
(#1814).
Various documentation improvements.
Fixed
Typedefs for types with the same names as rust primitive types compiles
(#1798).
Bindgen dependencies will now get rebuilt when various environment variables
that affect bindgen change (#1809, #1813).
Various fixes to command_line_flags (#1816, #1819, #1821).
Functions that start with
operatornow get properly generated (#1817).Thanks to all the awesome contributors that sent patches included in this
release!
v0.54.0Compare Source
Released 2020/05/21.
Added
Changed
Fixed
__stdcall(#1781).v0.53.3Compare Source
Released 2020/05/21.
Note: This release contains the same fixes and additions as 0.54.0, but without
the Objective-C breaking changes
Added
Fixed
__stdcall(#1781).v0.53.2Compare Source
Released 2020/03/10.
Changed
v0.53.1Compare Source
Released 2020/02/03.
Added
v0.53.0Compare Source
Released 2020/02/02.
Added
Changed
Fixed
v0.52.0Compare Source
Released 2019/11/19.
Added
newtypeenum style, much likebitfieldbut without the bitwise ops(#1677).
MaybeUninitrather thanmem::uninitialized()(#1666).default-features = false, you probably want to use the"runtime"featureto get the same behavior as before.
Changed
regexunicodefeatures).
Fixed
#[must_use]support for libclang 9+ (#1646).BitfieldUnitconstructor to handle 64 bit wide bitfields on 32 bit (#1640).ParseCallbackshandler for included files. (#1637).v0.51.1Compare Source
Released 2019/09/23.
Fixed
OrdandPartialOrdimplementations were fixed, which regressesbindgen in funny ways when using rustc nightly. Dot releases for a few of the
previous versions of bindgen will be created with this fix. Also,
a
v0.51.1-oldsynversion was uploaded without the syn update. #1627Changed
Syn and related dependencies have been updated. #1611
Switches added to allow less dependencies. In
particular: It won't pull
failureand related dependencies by default, andthere's a default-on
which-rustfmtfeature which allows to get rid ofwhichaltogether. #1615 / #1625fxhashdependency was switched torustc-hash. #1626v0.51.0Compare Source
Released 2019/07/26.
Fixed
Improve workaround for LLVM stack overflow when evaluating value-dependent
expressions. #1591
Bindgen will properly detect the layout of incomplete arrays. #1592
Bindgen will properly detect the layout of empty unions and forward
declarations of unions. #1593 and #1595. Thanks @pmarks!
Changed
wchar_tis computed. This is a breaking changesince
IntKind::WChar(exposed inParseCallbacks) no longer needs asizemember. #1596
Added
RUSTFMTin the environment to try to find a suitablerustfmtbinary. #1602v0.50.1Compare Source
v0.50.0Compare Source
Released 2019/07/01.
Added
Fixed pointers to Objective C blocks #1582.
Various bindgen auto-generated types are now constructible in
const fncontexts #1571
It is possible to generate
#[non_exhaustive]enums for rust nightly targets.#1575
It is possible to avoid building clap now if you're using bindgen as
a library. #1581.
v0.49.4Compare Source
v0.49.3Compare Source
Released 2019/06/25. YANKED
Added
Various bindgen auto-generated types are now constructible in
const fncontexts #1571
It is possible to generate
#[non_exhaustive]enums for rust nightly targets.#1575
It is possible to avoid building clap now if you're using bindgen as
a library. #1581.
v0.49.2Compare Source
Released 2019/05/22
Changed
not to the element (so
void foo(int arr[2])would be generated asarr: *mut [c_int; 2]rather thanarr: *mut c_int. Thanks @elichai!#1564.
v0.49.1Compare Source
Released 2019/05/16
Fixed
#[link_name]attributes in win32 and macos forC functions and constants where it can detect it's not needed (thanks
@michaelwoerister!). #1558
Changed
hashbrowninternally, and will use fxhashand
std::HashMap. This is equivalent for newerrustcs sincehashbrownwas merged in libstd, and the performance difference should be close to zero
for older rustcs.
v0.49.0Compare Source
Released 2019/03/27
Added
Fixed
declarations (thanks @flowbish!). [#1535][]
Changed
Configuration
📅 Schedule: Branch creation - "before 3am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.