From a4c82b8a3b5e48f3bbccf32be80d45ca78d51515 Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Fri, 28 Oct 2016 14:55:07 -0700 Subject: [core] operator bool() must always be explicit Otherwise, it can participate in unexpected conversions. Case in point: GlyphSet::insert was comparing the result of GlyphMetrics::operator bool() where it wanted to use operator==. --- include/mbgl/util/size.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/mbgl/util/size.hpp b/include/mbgl/util/size.hpp index c0e2fd8180..1af85bcff5 100644 --- a/include/mbgl/util/size.hpp +++ b/include/mbgl/util/size.hpp @@ -13,7 +13,7 @@ public: constexpr Size(const uint32_t width_, const uint32_t height_) : width(width_), height(height_) { } - constexpr operator bool() const { + constexpr explicit operator bool() const { return width > 0 && height > 0; } -- cgit v1.2.1