Index: Source/platform/heap/Handle.h |
diff --git a/Source/platform/heap/Handle.h b/Source/platform/heap/Handle.h |
index 10aeace32db59e50b21e725505b4eed274530250..d67733188b30df10864bd8e35353f5961c741518 100644 |
--- a/Source/platform/heap/Handle.h |
+++ b/Source/platform/heap/Handle.h |
@@ -789,9 +789,10 @@ protected: |
// (b) a pointer to the head of an on-heap mixin object. |
// |
// We can check it by calling Heap::isHeapObjectAlive(m_raw), |
- // but we cannot call it here because it requres to include T.h. |
- // So we currently implement only the check for (a). |
- if (!IsGarbageCollectedMixin<T>::value) |
+ // but we cannot call it here because it requires to include T.h. |
+ // So we currently only try to implement the check for (a), but do |
+ // not insist that T's definition is in scope. |
+ if (IsFullyDefined<T>::value && !IsGarbageCollectedMixin<T>::value) |
Nico
2015/06/30 20:04:45
If this assert fires now depends on .h include ord
sof
2015/06/30 20:10:59
That's entirely to be expected. e.g., TrackBase do
|
ASSERT(HeapObjectHeader::fromPayload(m_raw)->checkHeader()); |
#endif |
} |