Subject: Opaque types, typedefs, and contract identifiers¶
A typedef's underlying type, an opaque type's hidden field, a pimpl alias, or a stable numeric/macro identifier (a serialization tag, a public macro or header constant) changes -- the contract was the name staying stable, not any particular layout.
9 case(s). ← back to all subjects
Cases¶
| Case | Title | Verdict | Category |
|---|---|---|---|
| case28_typedef_opaque | Typedef and Opaque Type Changes | 🔴 BREAKING | Breaking |
| case62_type_field_added_compatible | Type Field Added (Compatible — Opaque Struct) | 🟢 COMPATIBLE | Addition (Compatible) |
| case73_typedef_underlying_changed | Typedef Underlying Type Changed | 🔴 BREAKING | Breaking |
| case80_pimpl_shared_to_unique | Pimpl Alias Switched from shared_ptr to unique_ptr |
🔴 BREAKING | Breaking |
| case81_serialization_tag_reassigned | Serialization Tag ID Reassigned | 🔴 BREAKING | Breaking |
| case95_allocator_nested_typedef_removed | Allocator Nested-Typedef Removed | 🔴 BREAKING | Breaking |
| case124_header_constant_value_changed | Header Constant Value Changed | 🟠 API_BREAK | API Break |
| case156_public_macro_removed | _public_macro_removed — Public macro removed | 🟠 API_BREAK | API Break |
| case158_public_typedef_removed | Public Typedef Removed | 🟠 API_BREAK | API Break |