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

--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Because the narrowing conversion happens inside the Double(int) constructor.
The constrain on the variant(T&&) constructor only checks if a Double can be
constructed from an int without narrowing. Which it can.

What happens inside the constructor after that is unrelated. That's how C++
works.

Reply via email to