InsightSoftwareConsortium / InsightSoftwareConsortium/ITK
COMP: Test deleted virtual methods / destructors
- Dominant language
- C++
- Stars
- 1.7k
- Forks
- 748
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 64
Description
### Description
As discussed in #3389, there are virtual methods (in this case, all destructors) that are marked as `= delete`, and there are compilers that should be given a chance to complain about that. This issue is a request that we add testing code to exercise these destructors. If the compilers are not happy then the underlying code would need to be modifed as well; likely in a manner similar to #3389 . Via `egrep 'virtual .*delete;'` the following for instances are identified
https://github.com/InsightSoftwareConsortium/ITK/blob/dfa33a74c6fce77cc75e1c37235fbee84b2ba103/Modules/IO/ImageBase/include/itkConvertPixelBuffer.h#L60
https://github.com/InsightSoftwareConsortium/ITK/blob/dfa33a74c6fce77cc75e1c37235fbee84b2ba103/Modules/IO/MeshBase/include/itkConvertArrayPixelBuffer.h#L45
https://github.com/InsightSoftwareConsortium/ITK/blob/dfa33a74c6fce77cc75e1c37235fbee84b2ba103/Modules/IO/MeshBase/include/itkConvertVariableLengthVectorPixelBuffer.h#L45
https://github.com/InsightSoftwareConsortium/ITK/blob/dfa33a74c6fce77cc75e1c37235fbee84b2ba103/Modules/Numerics/Statistics/include/itkKdTree.h#L131
@jhlegarreta
Contributor guide
Research direction
Start by reviewing the four headers named in the issue and use the provided egrep pattern to confirm the deleted virtual destructors. Add testing code that exercises these destructors, then build with the relevant compilers to see whether they report problems. Done means the destructors are covered and any compiler failures are addressed as needed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers, testing-qa
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100