10ca8c089SMarshall Clow //===----------------------------------------------------------------------===//
20ca8c089SMarshall Clow //
357b08b09SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
457b08b09SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
557b08b09SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60ca8c089SMarshall Clow //
70ca8c089SMarshall Clow //===----------------------------------------------------------------------===//
80ca8c089SMarshall Clow 
90ca8c089SMarshall Clow // <array>
10*31cbe0f2SLouis Dionne // UNSUPPORTED: c++03, c++11, c++14
110ca8c089SMarshall Clow 
120ca8c089SMarshall Clow // template <class T, class... U>
130ca8c089SMarshall Clow //   array(T, U...) -> array<T, 1 + sizeof...(U)>;
140ca8c089SMarshall Clow //
150ca8c089SMarshall Clow //  Requires: (is_same_v<T, U> && ...) is true. Otherwise the program is ill-formed.
160ca8c089SMarshall Clow 
170ca8c089SMarshall Clow 
180ca8c089SMarshall Clow #include <array>
190ca8c089SMarshall Clow #include <cassert>
200ca8c089SMarshall Clow #include <cstddef>
210ca8c089SMarshall Clow 
220ca8c089SMarshall Clow #include "test_macros.h"
230ca8c089SMarshall Clow 
main(int,char **)242df59c50SJF Bastien int main(int, char**)
250ca8c089SMarshall Clow {
260ca8c089SMarshall Clow     {
270ca8c089SMarshall Clow     std::array arr{1,2,3L}; // expected-error {{no viable constructor or deduction guide for deduction of template arguments of 'array'}}
280ca8c089SMarshall Clow     }
292df59c50SJF Bastien 
302df59c50SJF Bastien   return 0;
310ca8c089SMarshall Clow }
32