Skip to content

Make ComPtr results optional #54

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 5 commits into from
Jan 20, 2018

Conversation

Boddlnagg
Copy link
Collaborator

Most methods returning interface/class types could return null, so we need to return Option<ComPtr<T>>. Fixes #20.

Return values from factory methods as well as IAsync... return types are not wrapped in Option, because the former are projected as constructors in C# (which cannot return null), and the latter are meant to be used with await syntax in C#, which can not deal with null (see dotnet/roslyn#7171).

In this PR I also finally removed the unsafe modifier from wrapper methods, because I'm sufficiently sure that these methods should be safe, and if some are not (as currently defined), then that's a bug in winrt-rust.

@Boddlnagg Boddlnagg merged commit b45d12f into contextfree:master Jan 20, 2018
@Boddlnagg Boddlnagg deleted the optional-comptr branch January 20, 2018 10:21
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant