[llvm-bugs] [Bug 45158] __is_constructible intrinsic does not SFINAE on default member initializers

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Sep 11 18:30:08 PDT 2020


https://bugs.llvm.org/show_bug.cgi?id=45158

Richard Smith <richard-llvm at metafoo.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |INVALID
             Status|NEW                         |RESOLVED

--- Comment #3 from Richard Smith <richard-llvm at metafoo.co.uk> ---
Re comment#2, that's not the same as this issue.

Default member initializers are not parsed until the closing brace of the
outermost enclosing class they're nested within -- the default member
initializer for A is not parsed until we reach the end of DataWithStruct. As a
consequence (in particular, because we can't compute the exception
specification for the default constructor until we've parsed the default member
initializers, and in general we never form a call to a function until after we
know its exception specification), default construction of an `A` fails in the
context of the type of DataWithStruct::t.

So that's not a bug.

Given the original problem is also not a bug, I'm going to resolve this
INVALID. We can reopen it or open a new bug if the committee decides to do
something SFINAE-like for default member initializers.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200912/21a8a7e3/attachment.html>


More information about the llvm-bugs mailing list