Skip to content

Use opaque types for handle references#2473

Merged
kripken merged 4 commits intoWebAssembly:masterfrom
RReverser:opaque-types
Nov 26, 2019
Merged

Use opaque types for handle references#2473
kripken merged 4 commits intoWebAssembly:masterfrom
RReverser:opaque-types

Conversation

@RReverser
Copy link
Member

This improves typechecking by verifying that user passes pointers of correct types.

@RReverser
Copy link
Member Author

Looks like CI is failing here for the same reasons as on master (on macOS only), but otherwise should be good to go.

@kripken can you merge please? (I don't have rights on this repo/org)

@kripken
Copy link
Member

kripken commented Nov 26, 2019

I'm trying to fix CI now in #2474 - after that lands, we can merge it here, then land. (Unless we are sure this can land without CI testing? That's not obvious to me.)

@kripken
Copy link
Member

kripken commented Nov 26, 2019

That other PR landed.

@RReverser
Copy link
Member Author

RReverser commented Nov 26, 2019

Unless we are sure this can land without CI testing? That's not obvious to me.

I was ~sure only because I checked Travis logs and saw that all other builders passed tests successfully, and only macOS one failed to start.

Screenshot_20191126-103616_Samsung Internet

But fixing the final builder is even better indeed :)

This improves typechecking by verifying that user passes pointers of correct types.
Define a macro to point opaque references to C structs when used from C, and to actual C++ classes when used from C++.

This fixes typecheck errors for internal usages of these reference types.
@kripken
Copy link
Member

kripken commented Nov 26, 2019

Great, thanks @RReverser!

@kripken kripken merged commit 0215a39 into WebAssembly:master Nov 26, 2019
@RReverser RReverser deleted the opaque-types branch November 26, 2019 18:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants