Small changes and bug fixes:
- The explicit casting constructor of
oup::basic_observable_ptr
would not move the deleter. This is now fixed. - A call to
oup::dynamic_pointer_cast
on a null pointer would not move the deleter. This is now fixed. - MSVC would report a false positive warning about a
noexcept
function that can throw. The warning is now silenced. - Improved error message for over-aligned types in
oup::make_observable
. - (internal only) Improved encapsulation of the
ptr_and_deleter
object. - (internal only) Refactored the tests and increased coverage; using snitch instead of Catch2.