Update Rust crate windows-bindgen to ^0.62.0 - autoclosed #7
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.60.0->^0.62.0Release Notes
microsoft/windows-rs (windows-bindgen)
v0.62.0: 62New crates in this release
The windows-collections crate defines the Windows collection types like
IIterable<T>,IVector<T>,IMap<K, V>, and so on (#3483). It also includes all of the stock implementations for creating such collections (#2346, #2350, #2353). This allows these collections to be used without requiring a dependency on the largerwindowscrate. This crate also provides an optimized implementation of the standardIteratortrait for the WindowsIIterator<T>interface (#3476).The windows-future crate defines the Windows async types like
IAsyncAction,IAsyncOperation<T>, and so on (#3490). It also includes all of the stock implementations for creating such async types (#3221, #3235). This allows these async types to be used without requiring a dependency on the largerwindowscrate.The windows-link crate provides linker support for Windows (#3450). This is the evolution of the older
windows-targetscrate but is substantially simpler and more versatile thanks to advances in the Rust compiler since thewindows-targetscrate was unveiled. Notably, it does not depend on or insert any import libs and can be used with custom libraries, not only those provided by the Windows operating system. All of the crates, with the exception ofwindows-sys, now depend on the newwindows-linkcrate instead of the olderwindows-targetscrate. This greatly simplifies compilation and also greatly reduces the size of dependencies as thewindows-linkcrate is tiny. Thewindows-bindgencrate defaults towindows-linkbut also adds the--linkoption to override this as needed. You may for example want to use--link windows_targetsif you need to stick with thewindows-targetscrate if you cannot change your MSRV to Rust 1.71 or later as that was the first version to stabilizeraw-dylibfor all Windows targets. This then lets you continue to usewindows-bindgenuntil you are ready to move to a newer version of Rust.The windows-numerics crate defines the Windows numeric types to support graphics-oriented math APIs and calculations (#3488). It also also includes all of the stock implementations for overloaded operators and other transformations. This allows these numeric types to be used without requiring a dependency on the larger
windowscrate.Major updates to existing crates
The windows-bindgen crate provides a number of improvements including new diagnostics (#3498), streamlined and more capable reference support (#3497, #3492), hardened method overloading (#3477), far fewer
transmutecalls, as well as many other critical fixes and improvements.The windows-core crate is largely unchanged but required some breaking changes to support
windows-bindgentype system improvements.The windows-registry crate continues to improve with generalized support for access rights (#3482), open options (#3461), and other minor improvements.
The windows crate now delegates to the
windows-numerics,windows-future, andwindows-collectionscrates for those types, as well as a number of critical fixes and improvements to features andcfgguards (#3431), and many other small improvements.Minor updates to existing crates
The windows-result now includes the
BOOLtype (#3441) as a core type. This allows this ubiquitous type to be used without requiring a dependency on the largerwindowscrate.The windows-strings crate now depends on the new
windows-linkcrate instead of the olderwindows-targetscrate.The windows-version crate now depends on the new
windows-linkcrate instead of the olderwindows-targetscrate.The cppwinrt crate includes minor improvements to improve build reliability.
What's Changed
track_callerin more places by @kennykerr in https://github.com/microsoft/windows-rs/pull/3424set_stringto differ by @kerosina in https://github.com/microsoft/windows-rs/pull/3412windows-bindgencaching by @kennykerr in https://github.com/microsoft/windows-rs/pull/3427cfgwriter by @kennykerr in https://github.com/microsoft/windows-rs/pull/3430cfggeneration by @kennykerr in https://github.com/microsoft/windows-rs/pull/3431Refunused lifetime type parameter by @kennykerr in https://github.com/microsoft/windows-rs/pull/3433Reffor generic type parameters by @kennykerr in https://github.com/microsoft/windows-rs/pull/3435cfgtoSendandSyncimplementations by @kennykerr in https://github.com/microsoft/windows-rs/pull/3438BOOLa core type by @kennykerr in https://github.com/microsoft/windows-rs/pull/3441EventRegistrationTokenby @kennykerr in https://github.com/microsoft/windows-rs/pull/3445RefandOutReffor C++ delegates by @kennykerr in https://github.com/microsoft/windows-rs/pull/3447Reflifetime type parameter by @kennykerr in https://github.com/microsoft/windows-rs/pull/3448windows-linkcrate by @kennykerr in https://github.com/microsoft/windows-rs/pull/3450cppwinrttemp file by @kennykerr in https://github.com/microsoft/windows-rs/pull/3455windows-bindgenand reducetransmutecount by @kennykerr in https://github.com/microsoft/windows-rs/pull/3454windows-bindgenby @kennykerr in https://github.com/microsoft/windows-rs/pull/3456OpenOptionstowindows-registryby @kennykerr in https://github.com/microsoft/windows-rs/pull/3461windows-linkto the windows-rs readme by @kennykerr in https://github.com/microsoft/windows-rs/pull/3462no_stdby @kennykerr in https://github.com/microsoft/windows-rs/pull/3469IteratorforIIterator<T>by @kennykerr in https://github.com/microsoft/windows-rs/pull/3476windows-registryby @kennykerr in https://github.com/microsoft/windows-rs/pull/3482MethodDefconstructor parent resolution by @kennykerr in https://github.com/microsoft/windows-rs/pull/3484windows-collectionscrate by @kennykerr in https://github.com/microsoft/windows-rs/pull/3483windows-numericscrate by @kennykerr in https://github.com/microsoft/windows-rs/pull/3488windows-futurecrate by @kennykerr in https://github.com/microsoft/windows-rs/pull/3490windows-bindgenreference usability and default reference support by @kennykerr in https://github.com/microsoft/windows-rs/pull/3492bindgenby @kennykerr in https://github.com/microsoft/windows-rs/pull/3496windows-bindgenby @kennykerr in https://github.com/microsoft/windows-rs/pull/3497windows-bindgento improve diagnostics by @kennykerr in https://github.com/microsoft/windows-rs/pull/3498New Contributors
Full Changelog: microsoft/windows-rs@0.61.0...0.62.0
v0.61.0: 61Compare Source
Major crate updates:
windows0.59.0windows-core0.59.0windows-implement0.59.0windows-interface0.59.0windows-targets0.53.0windows_i686_msvc0.53.0windows_x86_64_msvc0.53.0windows_aarch64_msvc0.53.0windows_i686_gnu0.53.0windows_x86_64_gnu0.53.0windows_i686_gnullvm0.53.0windows_x86_64_gnullvm0.53.0windows_aarch64_gnullvm0.53.0windows-bindgen0.59.0windows-registry0.4.0windows-result0.3.0windows-strings0.3.0cppwinrt0.2.0Minor crate updates:
windows-version0.1.2Excluded:
windows-sys0.59.0Things to keep in mind:
The tag/release names no longer map directly to the crate versions, so to find samples for a particular release requires looking at the releases page and finding the release that most recently updated a particular crate.
The
windows-bindgencrate includes the major code generation overhaul that brings many improvements - be sure to check out the PR description for more information. The resulting code gen depends on the new version ofwindows-coreand its dependencies, unless you include the--sysoption. #3359The
cppwinrtcrate constitutes a major update due to streamlining the error handling. #3415The
windows-registry,windows-strings,andwindows-resultcrates are also major version updates since they include small breaking changes.The
windows-targetscrate finally receives a major version update, the first in over a year. This is due to #3359 and #3342 potentially introducing breaking changes. Although unlikely, these updates introduced sufficient changes that make it hard to ensure that thewindows-targetslibs don't break existing code. As we're updatingwindows-targetsanyway, I took the liberty to bump the MSRV to 1.60 - to match the latest version ofwindows-sys- and remove the old but unused doc macro feature. Both remained for compatibility with very old dependents of thewindows-targetscrate.The
windows-versioncrate receives a minor update to update its dependency on thewindows-targetscrate.Beyond these specifics, this update is the culmination of around 6 months worth of work on the
windows-rsproject. The biggest improvements comes from the new code generation engine, but many other improvements are now also available for production. This includes support for many new lints, warnings, and suggestions provided by the Rust toolchain; much smaller code gen thanks to deriving many more traits; more efficient code gen; major improvements to WinRT type system and implementation support; more robust and consistent error handling; stock collection and async support; improved support for class hierarchies; and much more!In addition to "what's changed" below, check out what's changed for notes for 0.60.0 and 0.59.0 for additional changes that roll up to the crates published as part of this release.
What's Changed
stdreferences inwindowsandwindows-corecrates forno_stdbuilds by @kennykerr in https://github.com/microsoft/windows-rs/pull/3317unwraphelper forNTSTATUSby @kennykerr in https://github.com/microsoft/windows-rs/pull/3324windows-bindgenupdate by @kennykerr in https://github.com/microsoft/windows-rs/pull/3359windows-bindgenshould generateno_stdbindings by default by @kennykerr in https://github.com/microsoft/windows-rs/pull/3366BOOLEANtoboolby @kennykerr in https://github.com/microsoft/windows-rs/pull/3376transmutefor input value type parameter bindings by @kennykerr in https://github.com/microsoft/windows-rs/pull/3377windows-bindgenby @kennykerr in https://github.com/microsoft/windows-rs/pull/3379track_callerto make debuggingbindgenbuild script errors easier by @kennykerr in https://github.com/microsoft/windows-rs/pull/3383windows-bindgennow usesRefandOutReffor COM interface traits by @kennykerr in https://github.com/microsoft/windows-rs/pull/3386windows-bindgento supportunsafe_op_in_unsafe_fnby @kennykerr in https://github.com/microsoft/windows-rs/pull/3393Refwork with more than just interface types by @kennykerr in https://github.com/microsoft/windows-rs/pull/3394cppwinrtshould consistently panic on failure by @kennykerr in https://github.com/microsoft/windows-rs/pull/3415track_callerto make debuggingcppwinrtbuild script errors easier by @kennykerr in https://github.com/microsoft/windows-rs/pull/3417transmutewhere possible by @kennykerr in https://github.com/microsoft/windows-rs/pull/3421New Contributors
Full Changelog: microsoft/windows-rs@0.60.0...0.61.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, 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.