rust-cli / rust-cli/anstyle

Update to focused 0.100 windows crates to follow Microsoft guidance

Open Beginner friendly
#360 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
HTML
Stars
171
Forks
44
Avg merge
2h 34m
Merged PRs (30d)
6

Description

Replace windows-sys with focused Windows 0.100.0 bindings. This is done to follow Microsft Upstream guidance here:

https://github.com/microsoft/windows-rs

Prefer the focused crates below when they cover the functionality you need. For additional APIs, windows-bindgen can generate a minimal project-specific binding, while windows and windows-sys provide broad API coverage behind feature flags for binary applications.

Reusable libraries should avoid the windows and windows-sys umbrella crates. They add dependency weight and version churn, and several libraries can bring incompatible versions of the same large crate into one dependency tree. Prefer the focused crates for shared Windows types and generate any remaining private bindings with windows-bindgen.

https://github.com/rust-cli/anstyle/blob/main/crates/anstyle-wincon/Cargo.toml#L34
https://github.com/rust-cli/anstyle/blob/main/crates/anstyle-query/Cargo.toml#L27

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the dependency declarations in crates/anstyle-wincon/Cargo.toml and crates/anstyle-query/Cargo.toml, then review the windows-rs guidance linked in the issue. Replace the umbrella dependency with focused Windows 0.100.0 crates that cover the existing usage, and run the project tests to verify Windows functionality and dependency resolution.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
operating-systems
Issue type
Refactor
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
75/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.