diff options
Diffstat (limited to 'Source/JavaScriptCore/heap/Strong.h')
-rw-r--r-- | Source/JavaScriptCore/heap/Strong.h | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/Source/JavaScriptCore/heap/Strong.h b/Source/JavaScriptCore/heap/Strong.h index e00e92061..5c0f83267 100644 --- a/Source/JavaScriptCore/heap/Strong.h +++ b/Source/JavaScriptCore/heap/Strong.h @@ -84,9 +84,7 @@ public: bool operator!() const { return !slot() || !*slot(); } - // This conversion operator allows implicit conversion to bool but not to other integer types. - typedef JSValue (HandleBase::*UnspecifiedBoolType); - operator UnspecifiedBoolType*() const { return !!*this ? reinterpret_cast<UnspecifiedBoolType*>(1) : 0; } + explicit operator bool() const { return !!*this; } void swap(Strong& other) { @@ -148,11 +146,11 @@ template<class T> inline void swap(Strong<T>& a, Strong<T>& b) namespace WTF { -template<typename T> struct VectorTraits<JSC::Strong<T> > : SimpleClassVectorTraits { +template<typename T> struct VectorTraits<JSC::Strong<T>> : SimpleClassVectorTraits { static const bool canCompareWithMemcmp = false; }; -template<typename P> struct HashTraits<JSC::Strong<P> > : SimpleClassHashTraits<JSC::Strong<P> > { }; +template<typename P> struct HashTraits<JSC::Strong<P>> : SimpleClassHashTraits<JSC::Strong<P>> { }; } |