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-exception
6//
7//===----------------------------------------------------------------------===//
8
9// UNSUPPORTED: no-threads
10
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 construction
25 {
26 std::mutex m;
27 assert(m.try_lock());
28 m.unlock();
29 }
30
31 return 0;
32}
33

source code of libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/ctor.default.pass.cpp