AliceO2 icon indicating copy to clipboard operation
AliceO2 copied to clipboard

ASoA: Apply rule of five

Open vkucera opened this issue 1 month ago • 3 comments

  • Define missing special member functions from the rule of five.
  • Declare move functions noexcept.
  • Move assignment operator for TableIterator not defined as it cannot be defaulted.

vkucera avatar Dec 09 '25 16:12 vkucera

REQUEST FOR PRODUCTION RELEASES: To request your PR to be included in production software, please add the corresponding labels called "async-" to your PR. Add the labels directly (if you have the permissions) or add a comment of the form (note that labels are separated by a ",")

+async-label <label1>, <label2>, !<label3> ...

This will add <label1> and <label2> and removes <label3>.

The following labels are available async-2023-pbpb-apass4 async-2023-pp-apass4 async-2024-pp-apass1 async-2022-pp-apass7 async-2024-pp-cpass0 async-2024-PbPb-apass1 async-2024-ppRef-apass1 async-2024-PbPb-apass2 async-2023-PbPb-apass5

github-actions[bot] avatar Dec 09 '25 16:12 github-actions[bot]

I am not sure this is a good idea. Have you checked with bloaty this change does not add to the already large number of symbols we have? Is this trying to solve an actual problem or you simply want to have the linter happy?

ktf avatar Dec 10 '25 12:12 ktf

I am not sure this is a good idea. Have you checked with bloaty this change does not add to the already large number of symbols we have?

I haven't but I'm happy to check if you point me to instructions.

Is this trying to solve an actual problem or you simply want to have the linter happy?

Both.

  • Implicitly deleted move constructors and move assignments prevent optimisations.
  • When I run Clang-Tidy on O2Physics with the cppcoreguidelines-special-member-functions check, I get thousands of errors from ASoA for all columns, which makes it harder to find errors related to classes in O2Physics.

vkucera avatar Dec 10 '25 13:12 vkucera