33 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// UNSUPPORTED: no-threads10 11// <mutex>12 13// class mutex;14 15// mutex() noexcept;16 17#include <mutex>18#include <cassert>19#include <type_traits>20 21static_assert(std::is_nothrow_default_constructible<std::mutex>::value, "");22 23int main(int, char**) {24 // The mutex is unlocked after default construction25 {26 std::mutex m;27 assert(m.try_lock());28 m.unlock();29 }30 31 return 0;32}33