Skip to content

v0.5.0

Compare
Choose a tag to compare
@cschreib cschreib released this 13 Nov 17:43
· 213 commits to main since this release
fe5491b

Main changes:

  • Added explicit casting constructors to observer_ptr.
  • Added static_pointer_cast, const_pointer_cast, and dynamic_pointer_cast for all pointer types.

Small changes and bugfixes:

  • Fixed explicit casting constructors for owner pointers leaking the control block when given a null pointer
  • Fixed explicit casting constructor for sealed pointers forcing a T* as input, rather preserving the user's pointer type throughout. In theory this could have broken enable_observer_from_this in some edge cases (T* not inheriting from enable_observer_from_this, but user-supplied V* does). However in practice, the raw pointer must come from a sealed pointer, and will therefore already have its control block setup correctly. So this has no observable consequence.