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 makes winapi crate dependency optional.
Context:
image-data
features.Without
image-data
,winapi
is used only forsyncapi::Sleep
in this crate and it can be easily replaced with Rust standardstd::thread::sleep
.std::thread::sleep
uses the sameSleep
C function under the hood. As a side effect,std::thread::sleep
leverages high-resolution timer. It could make the retry interval more accurate.This doesn't remove winapi dependency immediately since clipboard-win v4 still depends on it. However clipboard-win will replace winapi dependency with windows-rs at next major version v5. When this crate bumps clipboard-win to v5, winapi dependency can be removed along with this PR (without
image-data
feature).