| // PR c++/51489 | |
| // DR 1313 | |
| // { dg-do compile { target c++11 } } | |
| struct array | |
| { | |
| constexpr array() :x(0) {} | |
| constexpr int const* begin() const { return &x; } | |
| int x; | |
| }; | |
| constexpr array aa; | |
| constexpr auto b = aa.begin(); | |
| static_assert(b-b == 0, "compiles just fine"); | |
| static_assert(aa.begin()-aa.begin() == 0, "compiler thinks it's not a constant expression"); |