diff --git a/include/mbgl/util/peer.hpp b/include/mbgl/util/peer.hpp index d56526b80..d16efddb5 100644 --- a/include/mbgl/util/peer.hpp +++ b/include/mbgl/util/peer.hpp @@ -12,7 +12,9 @@ public: peer() noexcept : storage(nullptr, noop_deleter) {} template - peer(T&& value) noexcept : storage(new std::decay_t(std::forward(value)), cast_deleter>) {} + peer(T&& value) noexcept : storage(new std::decay_t(std::forward(value)), cast_deleter>) { + static_assert(!std::is_same>::value, "Peer must not wrap itself."); + } bool has_value() const noexcept { return static_cast(storage); }