From 50e85cbbc063b2d67c931ba0f6dd96bf8b466373 Mon Sep 17 00:00:00 2001 From: Kenny Kerr Date: Fri, 21 Feb 2025 10:22:52 -0600 Subject: [PATCH] Release 0.62.0 (#3502) --- crates/libs/bindgen/Cargo.toml | 4 +-- crates/libs/bindgen/readme.md | 8 ++--- crates/libs/collections/Cargo.toml | 2 +- crates/libs/core/Cargo.toml | 4 +-- crates/libs/core/readme.md | 4 +-- crates/libs/cppwinrt/Cargo.toml | 2 +- crates/libs/cppwinrt/readme.md | 2 +- crates/libs/cppwinrt/src/lib.rs | 2 +- crates/libs/future/Cargo.toml | 5 +++- crates/libs/future/readme.md | 29 +++++++++++++++++++ crates/libs/helpers/Cargo.toml | 3 +- crates/libs/numerics/Cargo.toml | 2 +- crates/libs/registry/Cargo.toml | 2 +- crates/libs/registry/readme.md | 2 +- crates/libs/result/Cargo.toml | 2 +- crates/libs/result/readme.md | 2 +- crates/libs/strings/Cargo.toml | 2 +- crates/libs/strings/readme.md | 2 +- crates/libs/version/Cargo.toml | 2 +- crates/libs/windows/Cargo.toml | 4 +-- crates/libs/windows/readme.md | 2 +- .../json_validator_winrt/src/bindings.rs | 2 +- .../src/bindings.rs | 2 +- crates/tests/libs/bindgen/src/comment.rs | 2 +- .../libs/bindgen/src/comment_no_allow.rs | 2 +- crates/tests/misc/readme/Cargo.toml | 3 ++ crates/tests/misc/readme/src/lib.rs | 2 ++ .../tests/winrt/collection_interop/build.rs | 1 + .../winrt/collection_interop/src/bindings.rs | 2 -- crates/tests/winrt/noexcept/build.rs | 1 + crates/tests/winrt/noexcept/src/bindings.rs | 2 -- crates/tests/winrt/ref_params/build.rs | 1 + crates/tests/winrt/ref_params/src/bindings.rs | 2 -- crates/tests/winrt/reference_custom/build.rs | 1 + .../winrt/reference_custom/src/bindings.rs | 2 -- crates/tests/winrt/reference_no_deps/build.rs | 1 + .../winrt/reference_no_deps/src/bindings.rs | 2 -- .../tests/winrt/reference_no_windows/build.rs | 1 + .../reference_no_windows/src/bindings.rs | 2 -- crates/tests/winrt/reference_windows/build.rs | 1 + .../winrt/reference_windows/src/bindings.rs | 2 -- docs/readme.md | 9 ++++-- 42 files changed, 81 insertions(+), 49 deletions(-) diff --git a/crates/libs/bindgen/Cargo.toml b/crates/libs/bindgen/Cargo.toml index 77445dc7c7..4160d2cf0a 100644 --- a/crates/libs/bindgen/Cargo.toml +++ b/crates/libs/bindgen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windows-bindgen" -version = "0.59.0" +version = "0.60.0" edition = "2021" rust-version = "1.74" license = "MIT OR Apache-2.0" @@ -16,4 +16,4 @@ default-target = "x86_64-pc-windows-msvc" targets = [] [dependencies] -rayon = "1.7" +rayon = "1.10" diff --git a/crates/libs/bindgen/readme.md b/crates/libs/bindgen/readme.md index 8423cbf01c..514529e50d 100644 --- a/crates/libs/bindgen/readme.md +++ b/crates/libs/bindgen/readme.md @@ -9,11 +9,11 @@ The [windows-bindgen](https://crates.io/crates/windows-bindgen) crate automatica Start by adding the following to your Cargo.toml file: ```toml -[dependencies.windows-targets] -version = "0.53" +[dependencies.windows-link] +version = "0.1" -[dev-dependencies.windows-bindgen] -version = "0.59" +[build-dependencies.windows-bindgen] +version = "0.60" ``` Generate Rust bindings in a build script as follows: diff --git a/crates/libs/collections/Cargo.toml b/crates/libs/collections/Cargo.toml index e853f71a8a..fa7a992b37 100644 --- a/crates/libs/collections/Cargo.toml +++ b/crates/libs/collections/Cargo.toml @@ -16,7 +16,7 @@ default-target = "x86_64-pc-windows-msvc" targets = [] [dependencies.windows-core] -version = "0.59.0" +version = "0.60.0" path = "../core" default-features = false diff --git a/crates/libs/core/Cargo.toml b/crates/libs/core/Cargo.toml index d37cdd1fd3..ae2d8c9d45 100644 --- a/crates/libs/core/Cargo.toml +++ b/crates/libs/core/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "windows-core" -version = "0.59.0" +version = "0.60.0" authors = ["Microsoft"] edition = "2021" rust-version = "1.74" license = "MIT OR Apache-2.0" -description = "Rust for Windows" +description = "Core type support for COM and Windows" repository = "https://github.com/microsoft/windows-rs" readme = "readme.md" categories = ["os::windows-apis"] diff --git a/crates/libs/core/readme.md b/crates/libs/core/readme.md index 9b7e22a7d9..8e0af03161 100644 --- a/crates/libs/core/readme.md +++ b/crates/libs/core/readme.md @@ -1,6 +1,6 @@ -## windows-core +## Core type support for COM and Windows -Core primitives for the [windows](https://crates.io/crates/windows) crate. +The [windows-core](https://crates.io/crates/windows-core) crate provides core type support for the windows-* family of crates. * [Getting started](https://kennykerr.ca/rust-getting-started/) * [Samples](https://github.com/microsoft/windows-rs/tree/master/crates/samples) diff --git a/crates/libs/cppwinrt/Cargo.toml b/crates/libs/cppwinrt/Cargo.toml index 37282d64c9..e0fe754455 100644 --- a/crates/libs/cppwinrt/Cargo.toml +++ b/crates/libs/cppwinrt/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cppwinrt" -version = "0.2.0" +version = "0.2.1" authors = ["Microsoft"] edition = "2021" rust-version = "1.74" diff --git a/crates/libs/cppwinrt/readme.md b/crates/libs/cppwinrt/readme.md index 64d0489416..a8e0e37fd4 100644 --- a/crates/libs/cppwinrt/readme.md +++ b/crates/libs/cppwinrt/readme.md @@ -10,7 +10,7 @@ Start by adding the following to your Cargo.toml file: ```toml [dependencies.cppwinrt] -version = "0.1" +version = "0.2" ``` Use `cppwinrt` function as needed: diff --git a/crates/libs/cppwinrt/src/lib.rs b/crates/libs/cppwinrt/src/lib.rs index 112ad52e41..85c36e285f 100644 --- a/crates/libs/cppwinrt/src/lib.rs +++ b/crates/libs/cppwinrt/src/lib.rs @@ -5,7 +5,7 @@ const VERSION: &str = "2.0.240405.15"; /// Calls the C++/WinRT compiler with the given arguments. /// -/// Use `cppwinrt["-help"]` for available options. +/// Use `cppwinrt(["-help"])` for available options. #[track_caller] pub fn cppwinrt(args: I) -> String where diff --git a/crates/libs/future/Cargo.toml b/crates/libs/future/Cargo.toml index 4d1fd0b9ea..095172be2c 100644 --- a/crates/libs/future/Cargo.toml +++ b/crates/libs/future/Cargo.toml @@ -20,10 +20,13 @@ default = ["std"] std = [] [dependencies.windows-core] -version = "0.59.0" +version = "0.60.0" path = "../core" default-features = false [dependencies.windows-link] version = "0.1.0" path = "../link" + +[dev-dependencies] +windows-result = { path = "../result" } diff --git a/crates/libs/future/readme.md b/crates/libs/future/readme.md index 675dbe8a8f..2f9fd3e0dc 100644 --- a/crates/libs/future/readme.md +++ b/crates/libs/future/readme.md @@ -5,3 +5,32 @@ The [windows-future](https://crates.io/crates/windows-future) crate provides sto * [Getting started](https://kennykerr.ca/rust-getting-started/) * [Samples](https://github.com/microsoft/windows-rs/tree/master/crates/samples) * [Releases](https://github.com/microsoft/windows-rs/releases) + +Start by adding the following to your Cargo.toml file: + +```toml +[dependencies.windows-future] +version = "0.1" +``` + +Use the Windows async types as needed: + +```rust +use windows_future::*; +use windows_result::*; + +fn main() -> Result<()> { + // This result will be available immediately. + let ready = IAsyncOperation::ready(Ok(123)); + assert_eq!(ready.get()?, 123); + + let ready = IAsyncOperation::spawn(|| { + // Some lengthy operation goes here... + Ok(456) + }); + + assert_eq!(ready.get()?, 456); + + Ok(()) +} +``` diff --git a/crates/libs/helpers/Cargo.toml b/crates/libs/helpers/Cargo.toml index b3245a0cbb..cc67822583 100644 --- a/crates/libs/helpers/Cargo.toml +++ b/crates/libs/helpers/Cargo.toml @@ -5,6 +5,5 @@ edition = "2021" publish = false [dependencies] -regex = "1.7" -windows-bindgen = { workspace = true } +regex = "1.11" windows-link = { workspace = true } diff --git a/crates/libs/numerics/Cargo.toml b/crates/libs/numerics/Cargo.toml index 9d8e202558..2199b7f47d 100644 --- a/crates/libs/numerics/Cargo.toml +++ b/crates/libs/numerics/Cargo.toml @@ -20,7 +20,7 @@ default = ["std"] std = [] [dependencies.windows-core] -version = "0.59.0" +version = "0.60.0" path = "../core" default-features = false diff --git a/crates/libs/registry/Cargo.toml b/crates/libs/registry/Cargo.toml index 533da6ffe1..51e0012b0a 100644 --- a/crates/libs/registry/Cargo.toml +++ b/crates/libs/registry/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windows-registry" -version = "0.4.0" +version = "0.5.0" authors = ["Microsoft"] edition = "2021" rust-version = "1.74" diff --git a/crates/libs/registry/readme.md b/crates/libs/registry/readme.md index 1437600a7a..43d3837adb 100644 --- a/crates/libs/registry/readme.md +++ b/crates/libs/registry/readme.md @@ -10,7 +10,7 @@ Start by adding the following to your Cargo.toml file: ```toml [dependencies.windows-registry] -version = "0.3" +version = "0.5" ``` Read and write registry keys and values as needed: diff --git a/crates/libs/result/Cargo.toml b/crates/libs/result/Cargo.toml index 0f6bfa17bd..711407c79e 100644 --- a/crates/libs/result/Cargo.toml +++ b/crates/libs/result/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windows-result" -version = "0.3.0" +version = "0.3.1" authors = ["Microsoft"] edition = "2021" rust-version = "1.74" diff --git a/crates/libs/result/readme.md b/crates/libs/result/readme.md index 9cbf10b2c4..fc42e22310 100644 --- a/crates/libs/result/readme.md +++ b/crates/libs/result/readme.md @@ -10,7 +10,7 @@ Start by adding the following to your Cargo.toml file: ```toml [dependencies.windows-result] -version = "0.2" +version = "0.3" ``` Use the `HRESULT`, `Error`, and specialized `Result` types as needed: diff --git a/crates/libs/strings/Cargo.toml b/crates/libs/strings/Cargo.toml index add2684004..cec1bf2cf9 100644 --- a/crates/libs/strings/Cargo.toml +++ b/crates/libs/strings/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windows-strings" -version = "0.3.0" +version = "0.3.1" authors = ["Microsoft"] edition = "2021" rust-version = "1.74" diff --git a/crates/libs/strings/readme.md b/crates/libs/strings/readme.md index d1bbf1f860..d4d5f66a3a 100644 --- a/crates/libs/strings/readme.md +++ b/crates/libs/strings/readme.md @@ -10,7 +10,7 @@ Start by adding the following to your Cargo.toml file: ```toml [dependencies.windows-strings] -version = "0.2" +version = "0.3" ``` Use the Windows string types as needed: diff --git a/crates/libs/version/Cargo.toml b/crates/libs/version/Cargo.toml index 1757fba5eb..8e8c8fbc50 100644 --- a/crates/libs/version/Cargo.toml +++ b/crates/libs/version/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windows-version" -version = "0.1.2" +version = "0.1.3" authors = ["Microsoft"] edition = "2021" rust-version = "1.74" diff --git a/crates/libs/windows/Cargo.toml b/crates/libs/windows/Cargo.toml index 649e55976d..7640e7915c 100644 --- a/crates/libs/windows/Cargo.toml +++ b/crates/libs/windows/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "windows" -version = "0.59.0" +version = "0.60.0" authors = ["Microsoft"] edition = "2021" rust-version = "1.74" @@ -27,7 +27,7 @@ targets = [] rustdoc-args = ["--cfg", "docsrs"] [dependencies.windows-core] -version = "0.59.0" +version = "0.60.0" path = "../core" default-features = false diff --git a/crates/libs/windows/readme.md b/crates/libs/windows/readme.md index 073e7e86cf..d5d31b02cf 100644 --- a/crates/libs/windows/readme.md +++ b/crates/libs/windows/readme.md @@ -11,7 +11,7 @@ Start by adding the following to your Cargo.toml file: ```toml [dependencies.windows] -version = "0.59" +version = "0.60" features = [ "Data_Xml_Dom", "Win32_Security", diff --git a/crates/samples/components/json_validator_winrt/src/bindings.rs b/crates/samples/components/json_validator_winrt/src/bindings.rs index 39cdcdb00f..9772f85f33 100644 --- a/crates/samples/components/json_validator_winrt/src/bindings.rs +++ b/crates/samples/components/json_validator_winrt/src/bindings.rs @@ -1,4 +1,4 @@ -// Bindings generated by `windows-bindgen` 0.59.0 +// Bindings generated by `windows-bindgen` 0.60.0 #![allow( non_snake_case, diff --git a/crates/samples/components/json_validator_winrt_client/src/bindings.rs b/crates/samples/components/json_validator_winrt_client/src/bindings.rs index 6569e3e429..4788e0f552 100644 --- a/crates/samples/components/json_validator_winrt_client/src/bindings.rs +++ b/crates/samples/components/json_validator_winrt_client/src/bindings.rs @@ -1,4 +1,4 @@ -// Bindings generated by `windows-bindgen` 0.59.0 +// Bindings generated by `windows-bindgen` 0.60.0 #![allow( non_snake_case, diff --git a/crates/tests/libs/bindgen/src/comment.rs b/crates/tests/libs/bindgen/src/comment.rs index fb36032f3b..d81e392bf7 100644 --- a/crates/tests/libs/bindgen/src/comment.rs +++ b/crates/tests/libs/bindgen/src/comment.rs @@ -1,4 +1,4 @@ -// Bindings generated by `windows-bindgen` 0.59.0 +// Bindings generated by `windows-bindgen` 0.60.0 #![allow( non_snake_case, diff --git a/crates/tests/libs/bindgen/src/comment_no_allow.rs b/crates/tests/libs/bindgen/src/comment_no_allow.rs index e32edeb923..0b8219ef96 100644 --- a/crates/tests/libs/bindgen/src/comment_no_allow.rs +++ b/crates/tests/libs/bindgen/src/comment_no_allow.rs @@ -1,3 +1,3 @@ -// Bindings generated by `windows-bindgen` 0.59.0 +// Bindings generated by `windows-bindgen` 0.60.0 windows_link::link!("kernel32.dll" "system" fn GetTickCount() -> u32); diff --git a/crates/tests/misc/readme/Cargo.toml b/crates/tests/misc/readme/Cargo.toml index 8994c5fce3..263668b9ba 100644 --- a/crates/tests/misc/readme/Cargo.toml +++ b/crates/tests/misc/readme/Cargo.toml @@ -42,6 +42,9 @@ workspace = true [dev-dependencies.windows-strings] workspace = true +[dev-dependencies.windows-future] +workspace = true + [dev-dependencies.cppwinrt] workspace = true diff --git a/crates/tests/misc/readme/src/lib.rs b/crates/tests/misc/readme/src/lib.rs index 7f573c32f3..e0cbbc3022 100644 --- a/crates/tests/misc/readme/src/lib.rs +++ b/crates/tests/misc/readme/src/lib.rs @@ -10,3 +10,5 @@ #![doc = include_str!("../../../../libs/windows/readme.md")] #![doc = include_str!("../../../../libs/link/readme.md")] #![doc = include_str!("../../../../libs/collections/readme.md")] +#![doc = include_str!("../../../../libs/numerics/readme.md")] +#![doc = include_str!("../../../../libs/future/readme.md")] diff --git a/crates/tests/winrt/collection_interop/build.rs b/crates/tests/winrt/collection_interop/build.rs index 5483791e32..d4e7c38b36 100644 --- a/crates/tests/winrt/collection_interop/build.rs +++ b/crates/tests/winrt/collection_interop/build.rs @@ -37,6 +37,7 @@ fn main() { "Test", "--implement", "--flat", + "--no-comment", "--reference", "windows_collections,flat,Windows", ]); diff --git a/crates/tests/winrt/collection_interop/src/bindings.rs b/crates/tests/winrt/collection_interop/src/bindings.rs index 7580647c37..e075c4f7f6 100644 --- a/crates/tests/winrt/collection_interop/src/bindings.rs +++ b/crates/tests/winrt/collection_interop/src/bindings.rs @@ -1,5 +1,3 @@ -// Bindings generated by `windows-bindgen` 0.59.0 - #![allow( non_snake_case, non_upper_case_globals, diff --git a/crates/tests/winrt/noexcept/build.rs b/crates/tests/winrt/noexcept/build.rs index 525568f26b..37e2f7285f 100644 --- a/crates/tests/winrt/noexcept/build.rs +++ b/crates/tests/winrt/noexcept/build.rs @@ -37,6 +37,7 @@ fn main() { "Test", "--implement", "--flat", + "--no-comment", ]); let include = std::env::var("OUT_DIR").unwrap(); diff --git a/crates/tests/winrt/noexcept/src/bindings.rs b/crates/tests/winrt/noexcept/src/bindings.rs index 931406f19e..c256eef015 100644 --- a/crates/tests/winrt/noexcept/src/bindings.rs +++ b/crates/tests/winrt/noexcept/src/bindings.rs @@ -1,5 +1,3 @@ -// Bindings generated by `windows-bindgen` 0.59.0 - #![allow( non_snake_case, non_upper_case_globals, diff --git a/crates/tests/winrt/ref_params/build.rs b/crates/tests/winrt/ref_params/build.rs index 525568f26b..37e2f7285f 100644 --- a/crates/tests/winrt/ref_params/build.rs +++ b/crates/tests/winrt/ref_params/build.rs @@ -37,6 +37,7 @@ fn main() { "Test", "--implement", "--flat", + "--no-comment", ]); let include = std::env::var("OUT_DIR").unwrap(); diff --git a/crates/tests/winrt/ref_params/src/bindings.rs b/crates/tests/winrt/ref_params/src/bindings.rs index 4822089599..b797373474 100644 --- a/crates/tests/winrt/ref_params/src/bindings.rs +++ b/crates/tests/winrt/ref_params/src/bindings.rs @@ -1,5 +1,3 @@ -// Bindings generated by `windows-bindgen` 0.59.0 - #![allow( non_snake_case, non_upper_case_globals, diff --git a/crates/tests/winrt/reference_custom/build.rs b/crates/tests/winrt/reference_custom/build.rs index 3a08f1ec4b..b4138df627 100644 --- a/crates/tests/winrt/reference_custom/build.rs +++ b/crates/tests/winrt/reference_custom/build.rs @@ -33,6 +33,7 @@ fn main() { "IAsyncAction", "--implement", "--flat", + "--no-comment", "--no-deps", "--reference", "windows,skip-root,Windows.Foundation.IStringable", diff --git a/crates/tests/winrt/reference_custom/src/bindings.rs b/crates/tests/winrt/reference_custom/src/bindings.rs index 1486603785..d0c71dc998 100644 --- a/crates/tests/winrt/reference_custom/src/bindings.rs +++ b/crates/tests/winrt/reference_custom/src/bindings.rs @@ -1,5 +1,3 @@ -// Bindings generated by `windows-bindgen` 0.59.0 - #![allow( non_snake_case, non_upper_case_globals, diff --git a/crates/tests/winrt/reference_no_deps/build.rs b/crates/tests/winrt/reference_no_deps/build.rs index 3c147390c4..c0af24e324 100644 --- a/crates/tests/winrt/reference_no_deps/build.rs +++ b/crates/tests/winrt/reference_no_deps/build.rs @@ -35,5 +35,6 @@ fn main() { "--implement", "--flat", "--no-deps", + "--no-comment", ]); } diff --git a/crates/tests/winrt/reference_no_deps/src/bindings.rs b/crates/tests/winrt/reference_no_deps/src/bindings.rs index ed3e6ef2fa..9e599d7cfa 100644 --- a/crates/tests/winrt/reference_no_deps/src/bindings.rs +++ b/crates/tests/winrt/reference_no_deps/src/bindings.rs @@ -1,5 +1,3 @@ -// Bindings generated by `windows-bindgen` 0.59.0 - #![allow( non_snake_case, non_upper_case_globals, diff --git a/crates/tests/winrt/reference_no_windows/build.rs b/crates/tests/winrt/reference_no_windows/build.rs index 70b68090e3..1b86ce3254 100644 --- a/crates/tests/winrt/reference_no_windows/build.rs +++ b/crates/tests/winrt/reference_no_windows/build.rs @@ -31,5 +31,6 @@ fn main() { "IStringable", "--implement", "--flat", + "--no-comment", ]); } diff --git a/crates/tests/winrt/reference_no_windows/src/bindings.rs b/crates/tests/winrt/reference_no_windows/src/bindings.rs index fb21c35642..713e27e9f0 100644 --- a/crates/tests/winrt/reference_no_windows/src/bindings.rs +++ b/crates/tests/winrt/reference_no_windows/src/bindings.rs @@ -1,5 +1,3 @@ -// Bindings generated by `windows-bindgen` 0.59.0 - #![allow( non_snake_case, non_upper_case_globals, diff --git a/crates/tests/winrt/reference_windows/build.rs b/crates/tests/winrt/reference_windows/build.rs index 3bafc98643..5ea5e6fec6 100644 --- a/crates/tests/winrt/reference_windows/build.rs +++ b/crates/tests/winrt/reference_windows/build.rs @@ -30,6 +30,7 @@ fn main() { "Test", "--implement", "--flat", + "--no-comment", "--reference", "windows", ]); diff --git a/crates/tests/winrt/reference_windows/src/bindings.rs b/crates/tests/winrt/reference_windows/src/bindings.rs index b9a5c84516..ee3736cad0 100644 --- a/crates/tests/winrt/reference_windows/src/bindings.rs +++ b/crates/tests/winrt/reference_windows/src/bindings.rs @@ -1,5 +1,3 @@ -// Bindings generated by `windows-bindgen` 0.59.0 - #![allow( non_snake_case, non_upper_case_globals, diff --git a/docs/readme.md b/docs/readme.md index 3e779947ce..56e5d3c6ab 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -13,12 +13,15 @@ This repo is the home of the following crates (and other supporting crates): * [windows](https://crates.io/crates/windows) - Safer bindings including C-style APIs as well as COM and WinRT APIs. * [windows-bindgen](https://crates.io/crates/windows-bindgen) - Code generator for Windows metadata. -* [windows-core](https://crates.io/crates/windows-core) - Core type support for the Windows bindings. +* [windows-collections](https://crates.io/crates/windows-collections) - Windows collection types. +* [windows-core](https://crates.io/crates/windows-core) - Core type support for COM and Windows. +* [windows-future](https://crates.io/crates/windows-future) - Windows async type support. +* [windows-link](https://crates.io/crates/windows-link) - Linking for Windows. +* [windows-numerics](https://crates.io/crates/windows-numerics) - Windows numeric types. * [windows-registry](https://crates.io/crates/windows-registry) - Windows registry. * [windows-result](https://crates.io/crates/windows-result) - Windows error handling. * [windows-strings](https://crates.io/crates/windows-strings) - Windows string types. -* [windows-link](https://crates.io/crates/windows-link) - Direct linking for Windows. -* [windows-targets](https://crates.io/crates/windows-targets) - Import libs for Windows (and the precursor to `windows-link` for older compilers). * [windows-version](https://crates.io/crates/windows-version) - Windows version information. +* [windows-targets](https://crates.io/crates/windows-targets) - Import libs for Windows (and the precursor to `windows-link` for older compilers). * [cppwinrt](https://crates.io/crates/cppwinrt) - Bundles the C++/WinRT compiler for use in Rust.