Revert https://gitlab.com/libeigen/eigen/-/commit/040180078db70b8673932d7e5615920d64ceeaf5
diff --git a/Eigen/src/Core/EigenBase.h b/Eigen/src/Core/EigenBase.h
index 883e050..6d16700 100644
--- a/Eigen/src/Core/EigenBase.h
+++ b/Eigen/src/Core/EigenBase.h
@@ -109,24 +109,6 @@
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE DeviceWrapper<Derived, Device> device(Device& device);
template <typename Device>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE DeviceWrapper<const Derived, Device> device(Device& device) const;
-
- /**
- * By defining the empty destructor here, subclasses which override the destructor with `~SubClass = default` will not
- * inline their destructor. This ensures ensures the destructor symbol will exists in the binary.
- * This is needed to support expression evaluation in lldb (for _some_ reason). Without this hack, the destructor
- * will be inlined and lldb will produce a missing symbol error (referring to eg ~MatrixBase destructor) when trying
- * to evaluate an expression that returns an Eigen::Matrix.
- *
- * We use the normal default destructor to make the object trivially destructible when not debugging or when testing
- * as the testsuite asserts std::is_trivially_destructible
- */
-#if !defined(EIGEN_NO_DEBUG) && !defined(EIGEN_TESTING_PLAINOBJECT_CTOR)
-#if __cpp_constexpr >= 201907L
- EIGEN_DEVICE_FUNC constexpr ~EigenBase() {}
-#else
- EIGEN_DEVICE_FUNC ~EigenBase() {}
-#endif
-#endif
};
/***************************************************************************