Subject: API design and hygiene anti-patterns¶
The change is technically compatible (or a correctly-labelled risk) but represents a design smell -- namespace pollution, an unnamed type in the public ABI, a polymorphic type with no virtual destructor, a deprecation announcement, or the experimental-API graduation/removal lifecycle.
6 case(s). ← back to all subjects
Cases¶
| Case | Title | Verdict | Category |
|---|---|---|---|
| case53_namespace_pollution | Namespace Pollution (Generic Symbol Names) | 🔴 BREAKING | Breaking |
| case99_experimental_graduated | Experimental to Stable Graduation (Compatible) | 🟢 COMPATIBLE | Addition (Compatible) |
| case100_experimental_removed_without_replacement | Experimental Declaration Removed Without Replacement | 🔴 BREAKING | Breaking |
| case165_polymorphic_nonvirtual_dtor | Polymorphic Type Without a Virtual Destructor (New Anti-Pattern) | 🟡 COMPATIBLE_WITH_RISK | Risk |
| case178_unnamed_type_in_public_abi | Unnamed Type Leaks Into the Public ABI | 🟡 COMPATIBLE_WITH_RISK | Risk |
| case205_public_function_marked_deprecated | Public Function Marked Deprecated | 🟢 COMPATIBLE | Quality (Compatible) |