From b47f6164b82c166afb6d560caa3ffb79db15c7b7 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 14 Jul 2024 16:03:57 +0200 Subject: w --- compat/borrowed-ptr-fwd.hpp | 1 + compat/borrowed-ptr.inl | 1 - test/bptr.cpp | 14 ++++++++++++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/compat/borrowed-ptr-fwd.hpp b/compat/borrowed-ptr-fwd.hpp index 8386decc..38927cc6 100644 --- a/compat/borrowed-ptr-fwd.hpp +++ b/compat/borrowed-ptr-fwd.hpp @@ -1,6 +1,7 @@ #pragma once namespace floormat { +struct bptr_base; template class bptr; template bptr static_pointer_cast(const bptr& p) noexcept; template bptr(T* ptr) -> bptr; diff --git a/compat/borrowed-ptr.inl b/compat/borrowed-ptr.inl index 68a545d6..e7b4bbbd 100644 --- a/compat/borrowed-ptr.inl +++ b/compat/borrowed-ptr.inl @@ -1,7 +1,6 @@ #pragma once #include "borrowed-ptr.hpp" #include "compat/assert.hpp" -#include #define FM_BPTR_DEBUG diff --git a/test/bptr.cpp b/test/bptr.cpp index 13c8119e..ffff5b19 100644 --- a/test/bptr.cpp +++ b/test/bptr.cpp @@ -365,8 +365,17 @@ void test10() fm_assert(!p6); fm_assert(p5 == p6); - (void)bptr{p6}; - //(void)bptr{p6}; + fm_assert(!bptr{p6}); + //fm_assert(bptr{p6}); +} + +void test11() +{ + auto p1 = bptr{new Foo{1}}; + auto p2 = static_pointer_cast(p1); + auto p3 = static_pointer_cast(p1); + fm_assert(p2->x == 1); + fm_assert(p3); } } // namespace @@ -383,6 +392,7 @@ void Test::test_bptr() test8(); test9(); test10(); + test11(); } } // namespace floormat -- cgit v1.2.3