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 // <array> 10 11 // void swap(array& a); 12 13 #include <array> 14 #include <cassert> 15 16 int main(int, char**) { 17 { 18 typedef double T; 19 typedef std::array<const T, 0> C; 20 C c = {}; 21 C c2 = {}; 22 // expected-error-re@array:* {{{{(static_assert|static assertion)}} failed{{.*}}cannot swap zero-sized array of type 'const T'}} 23 c.swap(c2); // expected-note {{requested here}} 24 } 25 26 return 0; 27 } 28