Deprecate RelinkableHandle constructor taking a raw pointer #1978
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I'm getting
'QuantLib::Handle<T>::Handle': no overloaded function could convert all the argument types
when trying to use the constructor ofRelinkableHandle
that takes a raw pointer. Not sure if I'm doing it right, but even if it does work, I believe that this constructor should be deprecated for the following reasons:Handle
does not provide a constructor taking a raw pointer and it's unclear whyRelinkableHandle
needs to.shared_ptr
takes ownership of the raw pointer, which may not be obvious from the constructor declaration, and can lead to double delete bugs.Also I changed a couple of places to pass by value and move.