Open
Description
Tracking issue for ABI stability.
Actually stabilizing the ABI is going to come after stabilizing the API ("1.0"), but there's a chance of ABI stability problems that require us to make API changes (like stdbool did). So I'm not putting non-breaking
on this yet.
Off the top of my head:
- Figure out how to test this (https://lvc.github.io/abi-compliance-checker/ ?)
- Document what the standard build configuration is for ABI stability. For example here are some things that may affect the ABI:
WGPU_NULLABLE
(Nullability attributes need some love #190)WGPU_OBJECT_ATTRIBUTE
(No way to refine types/enums/functions for Swift #179)
- Are there any C language features that are never ABI-stabilizable? Like enum sizes?
- Make sure everything in the ABI works between C and C++ (
#ifdef __cplusplus
, etc.)- For example this includes things like
stdbool.h
bool
which is incompatible with C++bool
. We don't use this anymore. (Issues with C / C++ bool type. #84)
- For example this includes things like
Metadata
Metadata
Assignees
Labels
No labels