| 210 | namespace detail { |
| 211 | template <typename E> |
| 212 | [[noreturn]] TL_EXPECTED_11_CONSTEXPR void throw_exception(E &&e) { |
| 213 | #ifdef TL_EXPECTED_EXCEPTIONS_ENABLED |
| 214 | throw std::forward<E>(e); |
| 215 | #else |
| 216 | (void)e; |
| 217 | #ifdef _MSC_VER |
| 218 | __assume(0); |
| 219 | #else |
| 220 | __builtin_unreachable(); |
| 221 | #endif |
| 222 | #endif |
| 223 | } |
| 224 | |
| 225 | #ifndef TL_TRAITS_MUTEX |
| 226 | #define TL_TRAITS_MUTEX |