From 78cd980067435de1f8a703d9f8432705a74d967a Mon Sep 17 00:00:00 2001 From: Jason Turner Date: Wed, 1 Oct 2014 15:49:11 -0600 Subject: [PATCH] Work around broken Apple clang implementation This line of code does not cause an error on clang-3.4 or clang-3.5 on Linux. Apple's clang is somewhere between the two, no way to know where. For an unknown reason, specifying default move operations in 'Data' causes the compiler to think that Boxed_Value is an incomplete type. This is highly illogical since Data is only used via a shared_ptr, so the size / type of Boxed_Value should be fully known (and is known on every other compiler/platform combination). --- include/chaiscript/dispatchkit/boxed_value.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/chaiscript/dispatchkit/boxed_value.hpp b/include/chaiscript/dispatchkit/boxed_value.hpp index 466035e..77076f1 100644 --- a/include/chaiscript/dispatchkit/boxed_value.hpp +++ b/include/chaiscript/dispatchkit/boxed_value.hpp @@ -61,7 +61,7 @@ namespace chaiscript Data(const Data &) = delete; -#if !defined(_MSC_VER) || _MSC_VER != 1800 +#if !defined(__APPLE__) && (!defined(_MSC_VER) || _MSC_VER != 1800) Data(Data &&) = default; Data &operator=(Data &&rhs) = default; #endif