Skip to content

Subject: Template and generic-programming issues

A class or function template's instantiation set, default arguments, or constraints change in a way visible (or invisible) at the binary or header level -- including a shipped binary missing an instantiation the header still declares.

14 case(s). ← back to all subjects

Cases

Case Title Verdict Category
case17_template_abi Template Instantiation ABI Change 🔴 BREAKING Breaking
case79_missing_template_instantiation Missing Template Instantiation in Shipped Binary 🔴 BREAKING Breaking
case85_internal_template_signature_changed Internal Template Signature Changed 🔴 BREAKING Breaking
case87_default_template_arg_changed Default Template Argument Changed 🔴 BREAKING Breaking
case105_concept_tightening Concept Tightening (C++20) 🟠 API_BREAK API Break
case111_enumerable_thread_specific_lambda_ambiguity enumerable_thread_specific Lambda-Init Ambiguity 🟡 COMPATIBLE_WITH_RISK Risk
case122_template_signature_uninstantiated Uninstantiated Template Signature Change 🟠 API_BREAK API Break
case223_header_only_template_default_changed Header-Only Template Default Changed 🟠 API_BREAK API Break
case224_header_only_template_default_added Header-Only Template Default Added ✅ NO_CHANGE No Change
case225_header_only_template_default_removed Header-Only Template Default Removed 🟠 API_BREAK API Break
case226_header_only_template_default_unchanged Header-Only Template Default Unchanged ✅ NO_CHANGE No Change
case227_nested_namespace_template_default_changed Nested-Namespace Template Default Changed 🟠 API_BREAK API Break
case228_nontype_template_param_default_changed Non-Type Template Parameter Default Changed 🟠 API_BREAK API Break
case229_exported_template_default_changed Exported Template Default Changed 🔴 BREAKING Breaking