New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tuple api break #28058
Comments
My bad. I'll have this fixed by tonight. |
fix.diff |
I can confirm that the proposed fix fixes my issue |
I'm still surprised that you can get a reference to an incomplete type into the tuple. I'm going to have to add a bunch of tests for that. |
Hi, this is still an issue in clang version 3.9.0 (trunk 273167) Is there a plan to upstream the patch mentioned here? If not, what would be the correct way to fix the webkit issue? |
Sorry I thought I had committed a fix and put this out of mind. I'll make sure it's fixed before the 3.9 release branch. |
Fixed in r273334. |
Extended Description
With clang/libc++/libc++abi 3.9.0 (trunk 268575), I am no longer to build webkitgtk on Linux. It appears that some recent changes to the tuple header made this happen.
The code still compiles with clang/libc++/libc++abi 3.8.0 and gcc 6.1.0.
See also: https://bugs.webkit.org/show_bug.cgi?id=157382
In file included from :1:
In file included from /sources/webkitgtk-2.12.2/Source/WebKit2/WebKit2Prefix.h:69:
In file included from /usr/bin/../include/c++/v1/algorithm:631:
/usr/bin/../include/c++/v1/type_traits:1331:59: error: incomplete type 'WebCore::IDBRequestData' used in type trait expression
: public integral_constant<bool, __is_base_of(_Bp, _Dp)> {};
^
/usr/bin/../include/c++/v1/type_traits:543:37: note: in instantiation of template class 'std::__1::is_base_of<std::__1::allocator_arg_t, WebCore::IDBRequestData>' requested
here
struct __lazy_and : __lazy_and_impl<_P1::type::value, _Pr...> {};
^
/usr/bin/../include/c++/v1/tuple:664:9: note: in instantiation of template class 'std::__1::__lazy_and<std::__1::is_base_of<std::__1::allocator_arg_t, WebCore::IDBRequestData>,
std::__1::__lazy_all<std::__1::__dependent_type<std::__1::is_default_constructible<const WebCore::IDBRequestData &>, true>,
std::__1::__dependent_type<std::__1::is_default_constructible<const WebCore::IDBObjectStoreInfo &>, true> > >' requested here
__lazy_and<
^
/usr/bin/../include/c++/v1/tuple:670:5: note: in instantiation of default argument for 'tuple<WebCore::IDBRequestData, WebCore::IDBObjectStoreInfo, true>' required here
tuple(_AllocArgT, _Alloc const& __a)
^~~~~
/sources/webkitgtk-build/DerivedSources/WebKit2/WebIDBConnectionToClientMessages.h:180:11: note: while substituting deduced template arguments into function template 'tuple'
[with _AllocArgT = WebCore::IDBRequestData, _Alloc = WebCore::IDBObjectStoreInfo, _Dummy = (no value), $3 = (no value)]
: m_arguments(requestData, info)
^
/sources/webkitgtk-2.12.2/Source/WebKit2/DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:40:7: note: forward declaration of 'WebCore::IDBRequestData'
class IDBRequestData;
The text was updated successfully, but these errors were encountered: