https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67631

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |rejects-valid
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-09-18
                 CC|                            |trippels at gcc dot gnu.org
     Ever confirmed|0                           |1
      Known to fail|                            |4.9.2, 5.2.1, 6.0

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
markus@x4 tmp % cat bra.ii
class X
{
public:
  X (int);
  explicit operator unsigned ();
};
unsigned
foo ()
{
  return unsigned{ X (0) };
}
markus@x4 tmp % icpc -Wall -Wextra -c -std=c++14 bra.ii
markus@x4 tmp % clang++ -Wall -Wextra -c -std=c++14 bra.ii
markus@x4 tmp % g++ -Wall -Wextra -c -std=c++14 bra.ii
bra.ii: In function ‘unsigned int foo()’:
bra.ii:10:26: error: cannot convert ‘X’ to ‘unsigned int’ in initialization
   return unsigned{ X (0) };
                          ^

Reply via email to