1 // { dg-do run { target c++14 } }
2 
3 #include <cassert>
4 
5 constexpr int n = 10;
6 
7 struct A {
8     constexpr operator const int*() const {
9         return data;
10     }
11 
12     constexpr operator int*() {
13         return data;
14     }
15 
16 private:
17     int data[n];
18 };
19 
f()20 constexpr A f() {
21     A a{};
22     for (int i = 1; i <= n; i++) {
23         a[i] = i;
24     }
25     return a;
26 }
27 
28 A a = f();
29 
main()30 int main()
31 {
32     for (int i = 0; i < n; i++) {
33         assert (a[i] == i);
34     }
35 }
36