diff --git a/uppsrc/Core/BiCont.h b/uppsrc/Core/BiCont.h index 7b2c1c3fa..9cbc1cd82 100644 --- a/uppsrc/Core/BiCont.h +++ b/uppsrc/Core/BiCont.h @@ -35,8 +35,8 @@ public: T& Tail() { ASSERT(items > 0); return vector[EI()]; } const T& Head() const { ASSERT(items > 0); return vector[start]; } const T& Tail() const { ASSERT(items > 0); return vector[EI()]; } - void DropHead() { (&Head())->T::~T(); items--; start = Ix(1); } - void DropTail() { (&Tail())->T::~T(); items--; } + void DropHead() { (&Head())->~T(); items--; start = Ix(1); } + void DropTail() { (&Tail())->~T(); items--; } T PopHead() { T x = Head(); DropHead(); return x; } T PopTail() { T x = Tail(); DropTail(); return x; } void DropHead(int n) { while(n-- > 0) BiVector::DropHead(); } diff --git a/uppsrc/Core/Heap.h b/uppsrc/Core/Heap.h index 2eaca523b..6f2452978 100644 --- a/uppsrc/Core/Heap.h +++ b/uppsrc/Core/Heap.h @@ -155,6 +155,6 @@ T *tiny_new(Args... args) template void tiny_delete(T *ptr) { - ptr->T::~T(); + ptr->~T(); TinyFree(sizeof(T), ptr); } diff --git a/uppsrc/Core/Other.h b/uppsrc/Core/Other.h index bd16b0375..2831592ad 100644 --- a/uppsrc/Core/Other.h +++ b/uppsrc/Core/Other.h @@ -256,7 +256,7 @@ void Mitor::Clear() if(count > 2) delete vector; if(count && count != 2) - ((T*)elem0)->T::~T(); + ((T*)elem0)->~T(); count = 0; } diff --git a/uppsrc/Core/Topt.h b/uppsrc/Core/Topt.h index 7a3570ecc..9b99edbe0 100644 --- a/uppsrc/Core/Topt.h +++ b/uppsrc/Core/Topt.h @@ -210,7 +210,7 @@ class DeepCopyOption : public B { public: #ifdef DEPRECATED friend T& operator<<=(T& dest, const T& src) - { if(&dest != &src) { (&dest)->T::~T(); ::new(&dest) T(src, 1); } return dest; } + { if(&dest != &src) { (&dest)->~T(); ::new(&dest) T(src, 1); } return dest; } #endif friend T do_clone(const T& src) { T c(src, 1); return c; } }; @@ -220,7 +220,7 @@ class MoveableAndDeepCopyOption : public B { friend void AssertMoveable0(T *) {} #ifdef DEPRECATED friend T& operator<<=(T& dest, const T& src) - { if(&dest != &src) { (&dest)->T::~T(); ::new(&dest) T(src, 1); } return dest; } + { if(&dest != &src) { (&dest)->~T(); ::new(&dest) T(src, 1); } return dest; } #endif friend T clone(const T& src) { T c(src, 1); return c; } }; diff --git a/uppsrc/Core/Vcont.h b/uppsrc/Core/Vcont.h index 065b8d99d..79ffe26ea 100644 --- a/uppsrc/Core/Vcont.h +++ b/uppsrc/Core/Vcont.h @@ -25,7 +25,7 @@ template inline void Destroy(T *t, const T *end) { while(t != end) { - t->T::~T(); + t->~T(); t++; } } diff --git a/uppsrc/Core/Vcont.hpp b/uppsrc/Core/Vcont.hpp index 28252ea4c..3b64d04b8 100644 --- a/uppsrc/Core/Vcont.hpp +++ b/uppsrc/Core/Vcont.hpp @@ -240,7 +240,7 @@ void Vector::Remove(const int *sorted_list, int n) for(;;) { ASSERT(pos < items); if(pos == *sorted_list) { - (vector + pos)->T::~T(); + (vector + pos)->~T(); pos++; sorted_list++; if(--n == 0) break;