Skip to content

L2 — + headers

Needs the public headers parsed alongside the binary.

35 case(s). ← back to all examples

Case Title Verdict Category
case32_param_defaults Parameter Default Value Changes (C++) 🟠 API_BREAK API Break
case34_access_level Access Level Changed 🟠 API_BREAK API Break
case74_detail_base_class_changed Internal detail:: base class layout change leaks via public API 🔴 BREAKING Breaking
case75_detail_embedded_by_value Internal detail:: Struct Embedded by Value 🔴 BREAKING Breaking
case76_detail_pimpl_vtable_changed Internal detail:: Polymorphic Base Vtable Change 🔴 BREAKING Breaking
case79_missing_template_instantiation Missing Template Instantiation in Shipped Binary 🔴 BREAKING Breaking
case81_serialization_tag_reassigned Serialization Tag ID Reassigned 🔴 BREAKING Breaking
case85_internal_template_signature_changed Internal Template Signature Changed 🔴 BREAKING Breaking
case87_default_template_arg_changed Default Template Argument Changed 🔴 BREAKING Breaking
case88_cpo_kind_changed CPO kind changed (BREAKING) 🔴 BREAKING Breaking
case89_inline_accessor_renamed_pimpl_member Inline Accessor References Renamed Pimpl Member 🔴 BREAKING Breaking
case96_hidden_friend_removed Hidden Friend Operator Removed 🟠 API_BREAK API Break
case106_ctor_became_explicit Conversion Operator Became explicit 🟠 API_BREAK API Break
case118_internal_struct_field_added_scoped Internal Struct Gains a Field (Non-Public, Scoped) ✅ NO_CHANGE No Change
case119_internal_struct_field_removed_scoped Internal Struct Loses a Field (Non-Public, Scoped) ✅ NO_CHANGE No Change
case120_internal_struct_reordered_scoped Internal Struct Fields Reordered (Non-Public, Scoped) ✅ NO_CHANGE No Change
case123_default_argument_removed Default Argument Removed 🟠 API_BREAK API Break
case124_header_constant_value_changed Header Constant Value Changed 🟠 API_BREAK API Break
case125_class_became_final Class Became final 🟠 API_BREAK API Break
case143_audit_accidental_export Accidental Export (Single-Release Audit) 🟢 COMPATIBLE Quality (Compatible)
case144_audit_private_header_leak Private Header Leak (Single-Release Audit) 🟢 COMPATIBLE Quality (Compatible)
case146_audit_rtti_for_internal RTTI Exported for an Internal Type (Single-Release Audit) 🟢 COMPATIBLE Quality (Compatible)
case147_scan_depth_ladder Depth Ladder — the Same Input Answered at Increasing Depth 🟢 COMPATIBLE Quality (Compatible)
case150_xcheck_export_public_pair Bidirectional Export ↔ Declaration Pair 🟢 COMPATIBLE Quality (Compatible)
case151_xcheck_provider_matrix Provider-Agreement Matrix (Corroboration Grows With Evidence) 🟢 COMPATIBLE Quality (Compatible)
case163_python_kwarg_renamed Python Keyword Argument Renamed (Stub-Only API Break) 🟠 API_BREAK API Break
case166_ref_qualifier_added Method Ref-Qualifier Added (str()str() &) 🔴 BREAKING Breaking
case168_virtual_method_devirtualized Virtual Method Devirtualized (flush() leaves the vtable) 🔴 BREAKING Breaking
case184_internal_enum_churn_scoped Internal Enum Churn, Scoped Out by Private-Header Origin ✅ NO_CHANGE No Change
case186_c_api_pointee_const_abi_neutral C API Pointee const-Qualification Is ABI-Neutral ✅ NO_CHANGE No Change
case202_public_header_declaration_order_changed Public Header Declaration Order Changed ✅ NO_CHANGE No Change
case205_public_function_marked_deprecated Public Function Marked Deprecated 🟢 COMPATIBLE Quality (Compatible)
case206_deprecation_documented_without_attribute Deprecation Documented Without the Attribute ✅ NO_CHANGE No Change
case207_pointer_parameter_gained_restrict Pointer Parameter Gained restrict 🟢 COMPATIBLE Quality (Compatible)
case208_restrict_added_to_definition_only restrict Added to the Definition Only ✅ NO_CHANGE No Change