Closed aymanhab closed 4 months ago
@adamkewley for your feedback, thank you
If this is because SWIG doesn't emit them in the absence of a copy constructor in C++, it might be easier to write Array(const Array&) = default;
in Array.h
to tell the compiler that it has to emit them?
Maybe rule of 5 it:
Array(Array const&) = default;;
Array(Array&&) noexcept = default;
Array& operator=(Array const&) = default;
Array& operator=(Array&&) noexcept = default;
~Array() noexcept = default
To ensure that all possible ctor/assignments are covered
(note: the C++ compiler will never emit template methods in the binary, but i'm guessing this relates to SWIG's parser)
Thanks @adamkewley, that also works and was my other question above. Since you seem to agree with that I'll undo the swig change and implement in Array.h. I also added a Java test case to exercise so if the test pass then we're good. Thank you
Done, and tests pass so ready to go.
Great! Sorry for the hiccup, I'll try to keep the behavior in mind in the future!
Thanks much @adamkewley much appreciated, and no worries at all 💯
Fixes issue #0
Brief summary of changes
Updating the Array class resulted in missing Copy constructors for all Array<> classes in Java/Matlab. This PR adds them back so that GUI code and possible user code that depends on them continue to work.
Testing I've completed
Building, checking resulting Java files
Looking for feedback on...
CHANGELOG.md (choose one)
This change is