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.
As you might expect, the
HRESULT
type is pivotal in the implementation of the bindings produced bywindows-rs
, whether it's the various implementation insidewindows-core
or the mountain of bindings produced by thewindows-bindgen
crate. Early on, I usedHRESULT
helpers to bootstrap and simplify API call generation but those were never very consistent with the Rust standard library. Here I'm aiming to make that a little less confusing and more consistent with prior art. I also hope to decouple it from the internals ofwindows-core
and make it more generally useful.Notably, the following has changed:
and_then
method is now calledmap
that behaves much likeResult::map
.and_then
method is added that behaves much likeResult::and_then
.and_some
method is gone. This was mostly used internally, but can be implemented in terms ofand_then
if needed.from_abi
method is gone. This was mostly used internally, but can be implemented in terms ofand_then
ormap
.