-} // folly
-
-FOLLY_NAMESPACE_STD_BEGIN
-
-/**
- * GCC's libstdc++ uses __is_location_invariant to decide wether to
- * use small object optimization and embed the functor's contents in
- * the std::function object.
- *
- * (gcc 4.9) $ libstdc++-v3/include/std/functional
- * template<typename _Tp>
- * struct __is_location_invariant
- * : integral_constant<bool, (is_pointer<_Tp>::value
- * || is_member_pointer<_Tp>::value)>
- * { };
- *
- * (gcc 5.0) $ libstdc++-v3/include/std/functional
- *
- * template<typename _Tp>
- * struct __is_location_invariant
- * : is_trivially_copyable<_Tp>::type
- * { };
- *
- *
- * NOTE: Forward declare so this doesn't break when using other
- * standard libraries: it just wont have any effect.
- */
-template <typename T>
-struct __is_location_invariant;
-
-template <typename T>
-struct __is_location_invariant<folly::detail::SmallFunctor<T>>
- : public std::true_type {};
-
-FOLLY_NAMESPACE_STD_END