[LLVMbugs] [Bug 20174] Unsafe perfect forwarding

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Jul 9 16:36:53 PDT 2014


http://llvm.org/bugs/show_bug.cgi?id=20174

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|---                         |MOVED

--- Comment #5 from Richard Smith <richard-llvm at metafoo.co.uk> ---
(In reply to comment #4)
> >   7 Requires: sizeof...(Types) == sizeof...(UTypes).
> >               is_constructible<Ti, Ui&&>::value is true for all i.

Since this was violated, 17.6.4.11/1 applies:

"Violation of the preconditions specified in a function’s Requires: paragraph
results in undefined behavior unless the function’s Throws: paragraph specifies
throwing an exception when the precondition is violated."

... so we're permitted (and, as far as I can tell, required) to accept this
tuple construction, and libc++'s extension is a conforming one.


If you think that this tuple constructor should not participate in overload
resolution if it has an arity mismatch, please file a defect report against the
C++ standard library. Mail lwgchair at gmail.com for that. (Resolving 'MOVED'.)

-- 
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/20140709/71074485/attachment.html>


More information about the llvm-bugs mailing list