Mercurial > hg > CbC > CbC_gcc
view libstdc++-v3/testsuite/30_threads/unique_lock/cons/deduction.cc @ 117:f81c5aa9f14f
fix
author | mir3636 |
---|---|
date | Tue, 28 Nov 2017 21:17:15 +0900 |
parents | 04ced10e8804 |
children | 84e7813d76e9 |
line wrap: on
line source
// Copyright (C) 2017 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the // terms of the GNU General Public License as published by the // Free Software Foundation; either version 3, or (at your option) // any later version. // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License along // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. // { dg-options "-std=gnu++17" } // { dg-do compile { target c++17 } } #include <mutex> template<typename T, typename U> struct require_same; template<typename T> struct require_same<T, T> { using type = void; }; template<typename T, typename U> typename require_same<T, U>::type check_type(U&) { } void test01() { std::mutex m; std::unique_lock l(m); check_type<std::unique_lock<std::mutex>>(l); struct Mutex { void lock() { } void unlock() { } } m2; std::unique_lock l2(m2); check_type<std::unique_lock<Mutex>>(l2); }