ukoethe / vigra

a generic C++ library for image analysis
http://ukoethe.github.io/vigra/
Other
407 stars 191 forks source link

deprecated implicit member functions #505

Closed lnw closed 11 months ago

lnw commented 2 years ago

I'm getting a large number of Wdeprecated-copy warnings with g++-11/linux, wrt different classes where either the copy ctor is used while the copy-assignment operator is implemented or the other way round. According to the rule of five declaring either of them prevents the implicit generation of the others.

Is this (including the omission of move ctors and move assignment operators) intentional, in order to support pre-C++-11 standard versions? Otherwise I'd make a pull request.

hmeine commented 2 years ago

The code certainly dates back to pre-C++-11 days, and VIGRA's inventor and maintainer is no longer working on this, openly speaking, so we do not have anyone right now who is clearly responsible for such a decision.

What would be your suggestion?

lnw commented 2 years ago

I think the main three things to consider are that:

So the main question is whether there are any/many users who rely on pre-C++-11 code that need to be considered. I have no idea about that. Disregarding that constraint, there are clear benefits in updating to C++-11.

hmaarrfk commented 1 year ago

i'm definitely fine modernizing the codebase.

I would like to do it some order that resembles: https://github.com/ukoethe/vigra/issues/515

lnw commented 1 year ago

the problem described above is fixed by my pull request #507. That should be good to go as it is.

hmaarrfk commented 1 year ago

ok thank you. i'm getting the CIs back up and running. I might be interested to create a "release" before more intruisive changes.