Replace implicit conversions in UiaOperationAbstraction with explicit ones #88
Labels
enhancement
New feature or request
UiaOperationAbstraction
Issues that are related to the UiaOperationAbstraction C++ static library
Types in UiaOperationAbstraction can often be converted to their local and remote variants implicitly. For example, passing a
UiaString
to a function that takes awil::shared_bstr
will perform the conversion automatically due to the UiaString methodoperator wil::shared_bstr() const;
. These conversions throw if you try to convert a remote abstraction instance into its local variant, or a local abstraction instance into its remote variant. This can result in accidental and often confusing bugs.It's worth having discussion on whether we want to move towards more explicit conversions to avoid these subtle bugs. This would be a breaking change for UiaOperationAbstraction consumers.
The text was updated successfully, but these errors were encountered: