//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// type_traits
// rank
#include<type_traits>template<classT,unsignedA>voidtest_rank(){static_assert(std::rank<T>::value==A,"");static_assert(std::rank<constT>::value==A,"");static_assert(std::rank<volatileT>::value==A,"");static_assert(std::rank<constvolatileT>::value==A,"");}classClass{public:~Class();};intmain(){test_rank<void,0>();test_rank<int&,0>();test_rank<Class,0>();test_rank<int*,0>();test_rank<constint*,0>();test_rank<int,0>();test_rank<double,0>();test_rank<bool,0>();test_rank<unsigned,0>();test_rank<char[3],1>();test_rank<char[][3],2>();test_rank<char[][4][3],3>();}