http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52174

Daniel Krügler <daniel.kruegler at googlemail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |daniel.kruegler at
                   |                            |googlemail dot com

--- Comment #4 from Daniel Krügler <daniel.kruegler at googlemail dot com> 
2012-07-20 18:58:28 UTC ---
DR 1423 has now reached ready status, 

http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1423

so this seems like a good reason to consider a compiler change to evaluate
potential code breakages.

Here some recommended test-cases that should hold:

1)

bool b1 = nullptr; // Is well-formed today, needs to be ill-formed

2)

bool b2(nullptr); // well-formed today and under 1423

3)

template<class T>
T&& make();

template<class T>
void sink(T);

template<class T1, class T2,
  class = decltype(sink<T2>(make<T1>()))
>
auto f(int) -> char(&)[1];

template<class, class>
auto f(...) -> char(&)[2];

static_assert(sizeof(f<decltype(nullptr), bool>(0)) != 1, "");

Reply via email to