28 lines · cpp
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-exception6//7//===----------------------------------------------------------------------===//8 9// <array>10 11// void swap(array& a);12 13#include <array>14#include <cassert>15 16int 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@*:* {{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