[api] Remove virtual destructor from ProtoMessage (#14393)

This commit is contained in:
J. Nick Koston
2026-03-01 18:09:00 -10:00
committed by GitHub
parent 6d3d8970a6
commit f68a3ed15d
3 changed files with 11 additions and 7 deletions

View File

@@ -2473,9 +2473,6 @@ def build_base_class(
out = f"class {base_class_name} : public {parent_class} {{\n"
out += " public:\n"
# Add destructor with override
public_content.insert(0, f"~{base_class_name}() override = default;")
# Base classes don't implement encode/decode/calculate_size
# Derived classes handle these with their specific field numbers
cpp = ""
@@ -2483,6 +2480,8 @@ def build_base_class(
out += indent("\n".join(public_content)) + "\n"
out += "\n"
out += " protected:\n"
# Non-virtual protected destructor prevents accidental polymorphic deletion
protected_content.insert(0, f"~{base_class_name}() = default;")
out += indent("\n".join(protected_content))
if protected_content:
out += "\n"