From a8cb0282b14719d68e3b63a0d580db878c5a533d Mon Sep 17 00:00:00 2001
From: Steven Hahn <hahnse@ornl.gov>
Date: Sun, 30 Oct 2016 12:09:50 -0400
Subject: [PATCH] Remove static_assert.

---
 Framework/DataHandling/src/LoadEventNexus.cpp     |  2 +-
 Framework/Kernel/inc/MantidKernel/MultiThreaded.h | 10 ----------
 2 files changed, 1 insertion(+), 11 deletions(-)

diff --git a/Framework/DataHandling/src/LoadEventNexus.cpp b/Framework/DataHandling/src/LoadEventNexus.cpp
index a82f4abdb85..eb8d8b5b874 100644
--- a/Framework/DataHandling/src/LoadEventNexus.cpp
+++ b/Framework/DataHandling/src/LoadEventNexus.cpp
@@ -1614,7 +1614,7 @@ void LoadEventNexus::loadEvents(API::Progress *const prog,
       if (mT0 != 0.0) {
         int64_t numHistograms =
             static_cast<int64_t>(m_ws->getNumberHistograms());
-        PARALLEL_FOR_IF(m_ws->threadSafe())
+        PARALLEL_FOR_IF(Kernel::threadSafe(*m_ws))
         for (int64_t i = 0; i < numHistograms; ++i) {
           PARALLEL_START_INTERUPT_REGION
           // Do the offsetting
diff --git a/Framework/Kernel/inc/MantidKernel/MultiThreaded.h b/Framework/Kernel/inc/MantidKernel/MultiThreaded.h
index 0af5324ac0d..6c6c5334510 100644
--- a/Framework/Kernel/inc/MantidKernel/MultiThreaded.h
+++ b/Framework/Kernel/inc/MantidKernel/MultiThreaded.h
@@ -17,9 +17,6 @@ namespace Kernel {
 template <typename Arg>
 inline typename std::enable_if<std::is_pointer<Arg>::value, bool>::type
 threadSafe(Arg workspace) {
-  static_assert(
-      std::is_base_of<DataItem, typename std::remove_pointer<Arg>::type>::value,
-      "Parameter must be derived from Mantid::Kernel::DataItem!");
   return !workspace || workspace->threadSafe();
 }
 
@@ -33,9 +30,6 @@ threadSafe(Arg workspace) {
 template <typename Arg, typename... Args>
 inline typename std::enable_if<std::is_pointer<Arg>::value, bool>::type
 threadSafe(Arg workspace, Args &&... others) {
-  static_assert(
-      std::is_base_of<DataItem, typename std::remove_pointer<Arg>::type>::value,
-      "Parameter must be derived from Mantid::Kernel::DataItem!");
   return (!workspace || workspace->threadSafe()) &&
          threadSafe(std::forward<Args>(others)...);
 }
@@ -48,8 +42,6 @@ threadSafe(Arg workspace, Args &&... others) {
 template <typename Arg>
 inline typename std::enable_if<!std::is_pointer<Arg>::value, bool>::type
 threadSafe(const Arg &workspace) {
-  static_assert(std::is_base_of<DataItem, Arg>::value,
-                "Parameter must be derived from Mantid::Kernel::DataItem!");
   return workspace.threadSafe();
 }
 
@@ -63,8 +55,6 @@ threadSafe(const Arg &workspace) {
 template <typename Arg, typename... Args>
 inline typename std::enable_if<!std::is_pointer<Arg>::value, bool>::type
 threadSafe(const Arg &workspace, Args &&... others) {
-  static_assert(std::is_base_of<DataItem, Arg>::value,
-                "Parameter must be derived from Mantid::Kernel::DataItem!");
   return workspace.threadSafe() && threadSafe(std::forward<Args>(others)...);
 }
 
-- 
GitLab