Skip to content

clang-tidy: resolve cppcoreguidelines-explicit-virtual-functions#545

Open
greenc-FNAL wants to merge 2 commits intomainfrom
maintenance/clang-tidy/cppcoreguidelines-explicit-virtual-functions
Open

clang-tidy: resolve cppcoreguidelines-explicit-virtual-functions#545
greenc-FNAL wants to merge 2 commits intomainfrom
maintenance/clang-tidy/cppcoreguidelines-explicit-virtual-functions

Conversation

@greenc-FNAL
Copy link
Copy Markdown
Contributor

  • Decorated all flagged virtual destructors with override

- Decorated all flagged virtual destructors with `override`
Copilot AI review requested due to automatic review settings April 22, 2026 20:04
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses clang-tidy’s cppcoreguidelines-explicit-virtual-functions findings by explicitly marking overriding virtual destructors with override across the Phlex core “declared_*” APIs and the FORM storage/persistence implementation classes.

Changes:

  • Updated Phlex core abstract/interface-style classes (declared_*, repeater_node) to mark virtual destructors as override.
  • Updated FORM storage/persistence concrete implementations to mark destructors as override where they implement interface/base-class virtual destructors.

Reviewed changes

Copilot reviewed 20 out of 20 changed files in this pull request and generated no comments.

Show a summary per file
File Description
phlex/core/detail/repeater_node.hpp Marks repeater_node destructor as overriding a virtual base destructor.
phlex/core/declared_unfold.hpp Marks declared_unfold destructor as override (base: products_consumer).
phlex/core/declared_transform.hpp Marks declared_transform destructor as override (base: products_consumer).
phlex/core/declared_predicate.hpp Marks declared_predicate destructor as override (base: products_consumer).
phlex/core/declared_observer.hpp Marks declared_observer destructor as override (base: products_consumer).
phlex/core/declared_fold.hpp Marks declared_fold destructor as override (base: products_consumer).
form/storage/storage_writer.hpp Marks StorageWriter destructor as override (base: IStorageWriter).
form/storage/storage_write_container.hpp Marks Storage_Write_Container destructor as override (base: IStorage_Write_Container).
form/storage/storage_write_association.hpp Marks Storage_Write_Association destructor as override (base: Storage_Write_Container).
form/storage/storage_reader.hpp Marks StorageReader destructor as override (base: IStorageReader).
form/storage/storage_read_container.hpp Marks Storage_Read_Container destructor as override (base: IStorage_Read_Container).
form/storage/storage_file.hpp Marks Storage_File destructor as override (base: IStorage_File).
form/storage/storage_associative_write_container.hpp Marks Storage_Associative_Write_Container destructor as override (base: Storage_Write_Container).
form/root_storage/root_ttree_write_container.hpp Marks ROOT_TTree_Write_ContainerImp destructor as override.
form/root_storage/root_tfile.hpp Marks ROOT_TFileImp destructor as override.
form/root_storage/root_tbranch_write_container.hpp Marks ROOT_TBranch_Write_ContainerImp destructor as override.
form/root_storage/root_tbranch_read_container.hpp Marks ROOT_TBranch_Read_ContainerImp destructor as override.
form/persistence/persistence_writer.hpp Marks PersistenceWriter destructor as override (base: IPersistenceWriter).
form/persistence/persistence_reader.hpp Marks PersistenceReader destructor as override (base: IPersistenceReader).

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 22, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

@@            Coverage Diff             @@
##             main     #545      +/-   ##
==========================================
+ Coverage   86.74%   86.76%   +0.01%     
==========================================
  Files         142      142              
  Lines        5033     5033              
  Branches      631      631              
==========================================
+ Hits         4366     4367       +1     
  Misses        452      452              
+ Partials      215      214       -1     
Flag Coverage Δ
unittests 86.76% <100.00%> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
form/persistence/persistence_reader.hpp 100.00% <100.00%> (ø)
form/persistence/persistence_writer.hpp 100.00% <100.00%> (ø)
form/root_storage/root_tbranch_read_container.hpp 100.00% <100.00%> (ø)
form/root_storage/root_tbranch_write_container.hpp 100.00% <100.00%> (ø)
form/storage/storage_file.hpp 100.00% <100.00%> (ø)
form/storage/storage_read_container.hpp 100.00% <100.00%> (ø)
form/storage/storage_reader.hpp 100.00% <100.00%> (ø)
form/storage/storage_write_association.hpp 100.00% <100.00%> (ø)
form/storage/storage_write_container.hpp 100.00% <100.00%> (ø)
form/storage/storage_writer.hpp 100.00% <100.00%> (ø)
... and 5 more

... and 2 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cfe0e73...1c6f1cd. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants