Non-unified builds can't compile JSWebGLRenderingContext.cpp: error: member access into incomplete type 'WebCore::WebGLSampler' FAILED: Source/WebCore/CMakeFiles/WebCore.dir/__/__/WebCore/DerivedSources/JSWebGLRenderingContext.cpp.obj C:\PROGRA~1\LLVM\bin\clang-cl.exe /nologo -TP -DANGLE_ENABLE_D3D11 -DANGLE_ENABLE_D3D9 -DANGLE_ENABLE_ESSL -DANGLE_ENABLE_HLSL -DBUILDING_WITH_CMAKE=1 -DBUILDING_WebCore -DEGL_EGLEXT_PROTOTYPES -DEGL_EGL_PROTOTYPES=1 -DGL_API="" -DGL_APICALL="" -DGL_GLES_PROTOTYPES=1 -DGL_GLEXT_PROTOTYPES -DHAVE_CONFIG_H=1 -DNOCRYPT -DNOMINMAX -DSTATICALLY_LINKED_WITH_PAL -DUNICODE -DWINVER=0x601 -DWTF_PLATFORM_WIN_CAIRO=1 -D_CRT_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0 -D_UNICODE -D_WIN32_WINNT=0x601 -D_WINDOWS -D_WINSOCKAPI_="" -D__STDC_CONSTANT_MACROS -IDerivedSources\ForwardingHeaders -I. -IWebCore\DerivedSources -I..\..\Source\WebCore -I..\..\Source\WebCore\Modules\airplay -I..\..\Source\WebCore\Modules\applepay -I..\..\Source\WebCore\Modules\applepay\paymentrequest -I..\..\Source\WebCore\Modules\applicationmanifest -I..\..\Source\WebCore\Modules\async-clipboard -I..\..\Source\WebCore\Modules\beacon -I..\..\Source\WebCore\Modules\cache -I..\..\Source\WebCore\Modules\contact-picker -I..\..\Source\WebCore\Modules\credentialmanagement -I..\..\Source\WebCore\Modules\encryptedmedia -I..\..\Source\WebCore\Modules\encryptedmedia\legacy -I..\..\Source\WebCore\Modules\entriesapi -I..\..\Source\WebCore\Modules\fetch -I..\..\Source\WebCore\Modules\geolocation -I..\..\Source\WebCore\Modules\highlight -I..\..\Source\WebCore\Modules\indexeddb -I..\..\Source\WebCore\Modules\indexeddb\client -I..\..\Source\WebCore\Modules\indexeddb\server -I..\..\Source\WebCore\Modules\indexeddb\shared -I..\..\Source\WebCore\Modules\mediacapabilities -I..\..\Source\WebCore\Modules\mediacontrols -I..\..\Source\WebCore\Modules\mediarecorder -I..\..\Source\WebCore\Modules\mediasession -I..\..\Source\WebCore\Modules\mediasource -I..\..\Source\WebCore\Modules\mediastream -I..\..\Source\WebCore\Modules\mediastream\libwebrtc -I..\..\Source\WebCore\Modules\model-element -I..\..\Source\WebCore\Modules\navigatorcontentutils -I..\..\Source\WebCore\Modules\notifications -I..\..\Source\WebCore\Modules\paymentrequest -I..\..\Source\WebCore\Modules\pictureinpicture -I..\..\Source\WebCore\Modules\plugins -I..\..\Source\WebCore\Modules\remoteplayback -I..\..\Source\WebCore\Modules\speech -I..\..\Source\WebCore\Modules\streams -I..\..\Source\WebCore\Modules\webaudio -I..\..\Source\WebCore\Modules\webauthn -I..\..\Source\WebCore\Modules\webauthn\cbor -I..\..\Source\WebCore\Modules\webauthn\fido -I..\..\Source\WebCore\Modules\webdatabase -I..\..\Source\WebCore\Modules\webdriver -I..\..\Source\WebCore\Modules\webgpu -I..\..\Source\WebCore\Modules\webgpu\WHLSL -I..\..\Source\WebCore\Modules\webgpu\WHLSL\AST -I..\..\Source\WebCore\Modules\websockets -I..\..\Source\WebCore\Modules\webxr -I..\..\Source\WebCore\accessibility -I..\..\Source\WebCore\accessibility\isolatedtree -I..\..\Source\WebCore\animation -I..\..\Source\WebCore\bindings -I..\..\Source\WebCore\bindings\js -I..\..\Source\WebCore\bridge -I..\..\Source\WebCore\bridge\c -I..\..\Source\WebCore\bridge\jsc -I..\..\Source\WebCore\contentextensions -I..\..\Source\WebCore\crypto -I..\..\Source\WebCore\crypto\algorithms -I..\..\Source\WebCore\crypto\keys -I..\..\Source\WebCore\crypto\parameters -I..\..\Source\WebCore\css -I..\..\Source\WebCore\css\parser -I..\..\Source\WebCore\css\typedom -I..\..\Source\WebCore\cssjit -I..\..\Source\WebCore\display -I..\..\Source\WebCore\display\compositing -I..\..\Source\WebCore\display\css -I..\..\Source\WebCore\dom -I..\..\Source\WebCore\dom\messageports -I..\..\Source\WebCore\domjit -I..\..\Source\WebCore\editing -I..\..\Source\WebCore\fileapi -I..\..\Source\WebCore\history -I..\..\Source\WebCore\html -I..\..\Source\WebCore\html\canvas -I..\..\Source\WebCore\html\forms -I..\..\Source\WebCore\html\parser -I..\..\Source\WebCore\html\shadow -I..\..\Source\WebCore\html\track -I..\..\Source\WebCore\inspector -I..\..\Source\WebCore\inspector\agents -I..\..\Source\WebCore\inspector\agents\page -I..\..\Source\WebCore\inspector\agents\worker -I..\..\Source\WebCore\layout -I..\..\Source\WebCore\layout\blockformatting -I..\..\Source\WebCore\layout\blockformatting\tablewrapper -I..\..\Source\WebCore\layout\flexformatting -I..\..\Source\WebCore\layout\floats -I..\..\Source\WebCore\layout\inlineformatting -I..\..\Source\WebCore\layout\inlineformatting\text -I..\..\Source\WebCore\layout\integration -I..\..\Source\WebCore\layout\invalidation -I..\..\Source\WebCore\layout\layouttree -I..\..\Source\WebCore\layout\tableformatting -I..\..\Source\WebCore\loader -I..\..\Source\WebCore\loader\appcache -I..\..\Source\WebCore\loader\archive -I..\..\Source\WebCore\loader\archive\mhtml -I..\..\Source\WebCore\loader\cache -I..\..\Source\WebCore\loader\icon -I..\..\Source\WebCore\mathml -I..\..\Source\WebCore\page -I..\..\Source\WebCore\page\csp -I..\..\Source\WebCore\page\scrolling -I..\..\Source\WebCore\platform -I..\..\Source\WebCore\platform\animation -I..\..\Source\WebCore\platform\audio -I..\..\Source\WebCore\platform\encryptedmedia -I..\..\Source\WebCore\platform\gamepad -I..\..\Source\WebCore\platform\graphics -I..\..\Source\WebCore\platform\graphics\cpu\arm -I..\..\Source\WebCore\platform\graphics\cpu\arm\filters -I..\..\Source\WebCore\platform\graphics\displaylists -I..\..\Source\WebCore\platform\graphics\filters -I..\..\Source\WebCore\platform\graphics\iso -I..\..\Source\WebCore\platform\graphics\opentype -I..\..\Source\WebCore\platform\graphics\transforms -I..\..\Source\WebCore\platform\mediacapabilities -I..\..\Source\WebCore\platform\mediarecorder -I..\..\Source\WebCore\platform\mediastream -I..\..\Source\WebCore\platform\mediastream\libwebrtc -I..\..\Source\WebCore\platform\mock -I..\..\Source\WebCore\platform\mock\mediasource -I..\..\Source\WebCore\platform\network -I..\..\Source\WebCore\platform\sql -I..\..\Source\WebCore\platform\text -I..\..\Source\WebCore\platform\xr -I..\..\Source\WebCore\plugins -I..\..\Source\WebCore\rendering -I..\..\Source\WebCore\rendering\line -I..\..\Source\WebCore\rendering\mathml -I..\..\Source\WebCore\rendering\shapes -I..\..\Source\WebCore\rendering\style -I..\..\Source\WebCore\rendering\svg -I..\..\Source\WebCore\rendering\updating -I..\..\Source\WebCore\replay -I..\..\Source\WebCore\storage -I..\..\Source\WebCore\style -I..\..\Source\WebCore\svg -I..\..\Source\WebCore\svg\animation -I..\..\Source\WebCore\svg\graphics -I..\..\Source\WebCore\svg\graphics\filters -I..\..\Source\WebCore\svg\properties -I..\..\Source\WebCore\websockets -I..\..\Source\WebCore\workers -I..\..\Source\WebCore\workers\service -I..\..\Source\WebCore\workers\service\context -I..\..\Source\WebCore\workers\service\server -I..\..\Source\WebCore\worklets -I..\..\Source\WebCore\xml -I..\..\Source\WebCore\xml\parser -I..\..\Source\WebCore\Modules\gamepad -I..\..\Source\WebCore\platform\graphics\angle -I..\..\Source\WebCore\platform\graphics\gpu -I..\include\private -I..\include\private\JavaScriptCore -I..\..\Source\WebCore\accessibility\win -I..\..\Source\WebCore\page\win -I..\..\Source\WebCore\platform\graphics\egl -I..\..\Source\WebCore\platform\graphics\opengl -I..\..\Source\WebCore\platform\graphics\win -I..\..\Source\WebCore\platform\network\win -I..\..\Source\WebCore\platform\win -I..\..\Source\WebCore\platform\cf -I..\..\Source\WebCore\platform\graphics\cairo -I..\..\Source\WebCore\platform\network\curl -I..\..\Source\WebCore\platform\image-decoders -I..\..\Source\WebCore\platform\image-decoders\bmp -I..\..\Source\WebCore\platform\image-decoders\gif -I..\..\Source\WebCore\platform\image-decoders\ico -I..\..\Source\WebCore\platform\image-decoders\jpeg -I..\..\Source\WebCore\platform\image-decoders\jpeg2000 -I..\..\Source\WebCore\platform\image-decoders\png -I..\..\Source\WebCore\platform\image-decoders\webp -I..\..\Source\WebCore\platform\graphics\texmap -I..\..\Source\WebCore\platform\graphics\nicosia -I..\..\Source\WebCore\loader\archive\cf -IANGLE\Headers -IJavaScriptCore\Headers -IJavaScriptCore\PrivateHeaders -IWTF\Headers -IPAL\Headers -imsvc ..\..\WebKitLibraries\win\include -imsvc ..\..\WebKitLibraries\win\include\libxml2 -imsvc ..\..\WebKitLibraries\win\include\cairo /W4 -fdiagnostics-color=always -fcolor-diagnostics -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-parentheses-equality -Qunused-arguments -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-unknown-argument -Wno-nonportable-include-path -Wno-unknown-pragmas -Wno-macro-redefined -Wno-undef /DWIN32 /D_WINDOWS /GR- /EHsc- -fno-strict-aliasing /MD /Zi /Ob0 /Od /RTC1 /bigobj /wd4018 /wd4060 /wd4068 /wd4100 /wd4127 /wd4146 /wd4189 /wd4201 /wd4244 /wd4245 /wd4251 /wd4275 /wd4267 /wd4305 /wd4309 /wd4312 /wd4324 /wd4389 /wd4456 /wd4457 /wd4458 /wd4459 /wd4505 /wd4611 /wd4646 /wd4701 /wd4702 /wd4706 /wd4715 /wd4722 /wd4838 /wd4840 /wd4996 /wd5205 /Zi /GS /EHa- /EHc- /EHs- /fp:except- /analyze- /bigobj /utf-8 /validate-charset -fmsc-version=1911 -std:c++17 /Yu"WebCorePrefix.h" /FI"WebCorePrefix.h" /Fp"C:/home/webkit/gc/WebKitBuild/Debug/Source/WebCore/WebCore_SOURCES/WebCorePrefix.pch" /showIncludes /FoSource\WebCore\CMakeFiles\WebCore.dir\__\__\WebCore\DerivedSources\JSWebGLRenderingContext.cpp.obj /FdSource\WebCore\WebCore.pdb -c -- WebCore\DerivedSources\JSWebGLRenderingContext.cpp In file included from WebCore\DerivedSources\JSWebGLRenderingContext.cpp:25: In file included from WebCore\DerivedSources/JSWebGLRenderingContext.h:25: In file included from ..\..\Source\WebCore\bindings\js/JSDOMWrapper.h:24: In file included from ..\..\Source\WebCore\bindings\js\JSDOMGlobalObject.h:29: In file included from WebCore\DerivedSources\WebCoreJSBuiltinInternals.h:38: In file included from WebCore\DerivedSources/JSDOMBindingInternalsBuiltins.h:34: In file included from JavaScriptCore\PrivateHeaders\JavaScriptCore/Identifier.h:23: In file included from JavaScriptCore\PrivateHeaders\JavaScriptCore/ArrayConventions.h:23: In file included from JavaScriptCore\PrivateHeaders\JavaScriptCore/IndexingHeader.h:28: In file included from JavaScriptCore\PrivateHeaders\JavaScriptCore/PropertyStorage.h:28: In file included from JavaScriptCore\PrivateHeaders\JavaScriptCore/WriteBarrier.h:29: In file included from JavaScriptCore\PrivateHeaders\JavaScriptCore/HandleTypes.h:28: In file included from JavaScriptCore\PrivateHeaders\JavaScriptCore/JSCJSValue.h:25: In file included from JavaScriptCore\PrivateHeaders\JavaScriptCore/Concurrency.h:28: In file included from WTF\Headers\wtf/PrintStream.h:36: WTF\Headers\wtf/RefPtr.h(42,16): error: member access into incomplete type 'WebCore::WebGLSampler' ptr->deref(); ^ WTF\Headers\wtf/RefPtr.h(73,47): note: in instantiation of member function 'WTF::DefaultRefDerefTraits<WebCore::WebGLSampler>::derefIfNotNull' requested here ALWAYS_INLINE ~RefPtr() { RefDerefTraits::derefIfNotNull(PtrTraits::exchange(m_ptr, nullptr)); } ^ WTF\Headers\wtf/Variant.h(446,18): note: in instantiation of member function 'WTF::RefPtr<WebCore::WebGLSampler, WTF::RawPtrTraits<WebCore::WebGLSampler>, WTF::DefaultRefDerefTraits<WebCore::WebGLSampler>>::~RefPtr' requested here __get().~_Type(); ^ WTF\Headers\wtf/Variant.h(483,15): note: in instantiation of member function 'WTF::__storage_wrapper<WTF::RefPtr<WebCore::WebGLSampler, WTF::RawPtrTraits<WebCore::WebGLSampler>, WTF::DefaultRefDerefTraits<WebCore::WebGLSampler>>>::__destroy' requested here __val.__destroy(); ^ WTF\Headers\wtf/Variant.h(554,35): note: in instantiation of member function 'WTF::__variant_storage<WTF::RefPtr<WebCore::WebGLSampler, WTF::RawPtrTraits<WebCore::WebGLSampler>, WTF::DefaultRefDerefTraits<WebCore::WebGLSampler>>, false>::__destroy' requested here __variant_storage<_Type>::__destroy(__val); ^ WTF\Headers\wtf/Variant.h(673,16): note: in instantiation of member function 'WTF::__variant_data<WTF::RefPtr<WebCore::WebGLSampler, WTF::RawPtrTraits<WebCore::WebGLSampler>, WTF::DefaultRefDerefTraits<WebCore::WebGLSampler>>>::__destroy' requested here __head.__destroy(in_place<0>); ^ WTF\Headers\wtf/Variant.h(677,16): note: (skipping 20 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) __rest.__destroy(in_place<_Index-1>); ^ WTF\Headers\wtf/Variant.h(828,31): note: in instantiation of function template specialization 'WTF::__variant_data<nullptr_t, bool, int, unsigned int, long long, float, WTF::String, WTF::Vector<bool, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<unsigned int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Float32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Int32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>>, WTF::RefPtr<WebCore::WebGLBuffer, WTF::RawPtrTraits<WebCore::WebGLBuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLBuffer>>, WTF::RefPtr<WebCore::WebGLFramebuffer, WTF::RawPtrTraits<WebCore::WebGLFramebuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLFramebuffer>>, WTF::RefPtr<WebCore::WebGLProgram, WTF::RawPtrTraits<WebCore::WebGLProgram>, WTF::DefaultRefDerefTraits<WebCore::WebGLProgram>>, WTF::RefPtr<WebCore::WebGLRenderbuffer, WTF::RawPtrTraits<WebCore::WebGLRenderbuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLRenderbuffer>>, WTF::RefPtr<WebCore::WebGLTexture, WTF::RawPtrTraits<WebCore::WebGLTexture>, WTF::DefaultRefDerefTraits<WebCore::WebGLTexture>>, WTF::RefPtr<WebCore::WebGLVertexArrayObjectOES, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObjectOES>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObjectOES>>, WTF::RefPtr<WebCore::WebGLSampler, WTF::RawPtrTraits<WebCore::WebGLSampler>, WTF::DefaultRefDerefTraits<WebCore::WebGLSampler>>, WTF::RefPtr<WebCore::WebGLTransformFeedback, WTF::RawPtrTraits<WebCore::WebGLTransformFeedback>, WTF::DefaultRefDerefTraits<WebCore::WebGLTransformFeedback>>, WTF::RefPtr<WebCore::WebGLVertexArrayObject, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObject>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObject>>>::__destroy<20>' requested here __self->__storage.__destroy(in_place<_Index>); ^ WTF\Headers\wtf/Variant.h(840,10): note: in instantiation of function template specialization 'WTF::__destroy_op_table<WTF::Variant<nullptr_t, bool, int, unsigned int, long long, float, WTF::String, WTF::Vector<bool, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<unsigned int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Float32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Int32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>>, WTF::RefPtr<WebCore::WebGLBuffer, WTF::RawPtrTraits<WebCore::WebGLBuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLBuffer>>, WTF::RefPtr<WebCore::WebGLFramebuffer, WTF::RawPtrTraits<WebCore::WebGLFramebuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLFramebuffer>>, WTF::RefPtr<WebCore::WebGLProgram, WTF::RawPtrTraits<WebCore::WebGLProgram>, WTF::DefaultRefDerefTraits<WebCore::WebGLProgram>>, WTF::RefPtr<WebCore::WebGLRenderbuffer, WTF::RawPtrTraits<WebCore::WebGLRenderbuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLRenderbuffer>>, WTF::RefPtr<WebCore::WebGLTexture, WTF::RawPtrTraits<WebCore::WebGLTexture>, WTF::DefaultRefDerefTraits<WebCore::WebGLTexture>>, WTF::RefPtr<WebCore::WebGLVertexArrayObjectOES, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObjectOES>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObjectOES>>, WTF::RefPtr<WebCore::WebGLSampler, WTF::RawPtrTraits<WebCore::WebGLSampler>, WTF::DefaultRefDerefTraits<WebCore::WebGLSampler>>, WTF::RefPtr<WebCore::WebGLTransformFeedback, WTF::RawPtrTraits<WebCore::WebGLTransformFeedback>, WTF::DefaultRefDerefTraits<WebCore::WebGLTransformFeedback>>, WTF::RefPtr<WebCore::WebGLVertexArrayObject, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObject>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObject>>>, WTF::__index_sequence<0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22>>::__destroy_func<20>' requested here &__destroy_func<_Indices>... ^ WTF\Headers\wtf/Variant.h(1474,38): note: in instantiation of static data member 'WTF::__destroy_op_table<WTF::Variant<nullptr_t, bool, int, unsigned int, long long, float, WTF::String, WTF::Vector<bool, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<unsigned int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Float32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Int32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>>, WTF::RefPtr<WebCore::WebGLBuffer, WTF::RawPtrTraits<WebCore::WebGLBuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLBuffer>>, WTF::RefPtr<WebCore::WebGLFramebuffer, WTF::RawPtrTraits<WebCore::WebGLFramebuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLFramebuffer>>, WTF::RefPtr<WebCore::WebGLProgram, WTF::RawPtrTraits<WebCore::WebGLProgram>, WTF::DefaultRefDerefTraits<WebCore::WebGLProgram>>, WTF::RefPtr<WebCore::WebGLRenderbuffer, WTF::RawPtrTraits<WebCore::WebGLRenderbuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLRenderbuffer>>, WTF::RefPtr<WebCore::WebGLTexture, WTF::RawPtrTraits<WebCore::WebGLTexture>, WTF::DefaultRefDerefTraits<WebCore::WebGLTexture>>, WTF::RefPtr<WebCore::WebGLVertexArrayObjectOES, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObjectOES>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObjectOES>>, WTF::RefPtr<WebCore::WebGLSampler, WTF::RawPtrTraits<WebCore::WebGLSampler>, WTF::DefaultRefDerefTraits<WebCore::WebGLSampler>>, WTF::RefPtr<WebCore::WebGLTransformFeedback, WTF::RawPtrTraits<WebCore::WebGLTransformFeedback>, WTF::DefaultRefDerefTraits<WebCore::WebGLTransformFeedback>>, WTF::RefPtr<WebCore::WebGLVertexArrayObject, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObject>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObject>>>, WTF::__index_sequence<0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22>>::__apply' requested here __destroy_op_table<Variant>::__apply[index()](this); ^ WTF\Headers\wtf/Variant.h(925,39): note: in instantiation of member function 'WTF::Variant<nullptr_t, bool, int, unsigned int, long long, float, WTF::String, WTF::Vector<bool, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<unsigned int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Float32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Int32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>>, WTF::RefPtr<WebCore::WebGLBuffer, WTF::RawPtrTraits<WebCore::WebGLBuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLBuffer>>, WTF::RefPtr<WebCore::WebGLFramebuffer, WTF::RawPtrTraits<WebCore::WebGLFramebuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLFramebuffer>>, WTF::RefPtr<WebCore::WebGLProgram, WTF::RawPtrTraits<WebCore::WebGLProgram>, WTF::DefaultRefDerefTraits<WebCore::WebGLProgram>>, WTF::RefPtr<WebCore::WebGLRenderbuffer, WTF::RawPtrTraits<WebCore::WebGLRenderbuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLRenderbuffer>>, WTF::RefPtr<WebCore::WebGLTexture, WTF::RawPtrTraits<WebCore::WebGLTexture>, WTF::DefaultRefDerefTraits<WebCore::WebGLTexture>>, WTF::RefPtr<WebCore::WebGLVertexArrayObjectOES, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObjectOES>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObjectOES>>, WTF::RefPtr<WebCore::WebGLSampler, WTF::RawPtrTraits<WebCore::WebGLSampler>, WTF::DefaultRefDerefTraits<WebCore::WebGLSampler>>, WTF::RefPtr<WebCore::WebGLTransformFeedback, WTF::RawPtrTraits<WebCore::WebGLTransformFeedback>, WTF::DefaultRefDerefTraits<WebCore::WebGLTransformFeedback>>, WTF::RefPtr<WebCore::WebGLVertexArrayObject, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObject>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObject>>>::__destroy_self' requested here static_cast<_Derived*>(this)->__destroy_self(); ^ WTF\Headers\wtf/Variant.h(1442,7): note: in instantiation of member function 'WTF::__variant_base<WTF::Variant<nullptr_t, bool, int, unsigned int, long long, float, WTF::String, WTF::Vector<bool, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<unsigned int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Float32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Int32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>>, WTF::RefPtr<WebCore::WebGLBuffer, WTF::RawPtrTraits<WebCore::WebGLBuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLBuffer>>, WTF::RefPtr<WebCore::WebGLFramebuffer, WTF::RawPtrTraits<WebCore::WebGLFramebuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLFramebuffer>>, WTF::RefPtr<WebCore::WebGLProgram, WTF::RawPtrTraits<WebCore::WebGLProgram>, WTF::DefaultRefDerefTraits<WebCore::WebGLProgram>>, WTF::RefPtr<WebCore::WebGLRenderbuffer, WTF::RawPtrTraits<WebCore::WebGLRenderbuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLRenderbuffer>>, WTF::RefPtr<WebCore::WebGLTexture, WTF::RawPtrTraits<WebCore::WebGLTexture>, WTF::DefaultRefDerefTraits<WebCore::WebGLTexture>>, WTF::RefPtr<WebCore::WebGLVertexArrayObjectOES, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObjectOES>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObjectOES>>, WTF::RefPtr<WebCore::WebGLSampler, WTF::RawPtrTraits<WebCore::WebGLSampler>, WTF::DefaultRefDerefTraits<WebCore::WebGLSampler>>, WTF::RefPtr<WebCore::WebGLTransformFeedback, WTF::RawPtrTraits<WebCore::WebGLTransformFeedback>, WTF::DefaultRefDerefTraits<WebCore::WebGLTransformFeedback>>, WTF::RefPtr<WebCore::WebGLVertexArrayObject, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObject>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObject>>>, false>::~__variant_base' requested here class Variant: ^ ..\..\Source\WebCore\html\canvas\WebGLAny.h(47,7): note: forward declaration of 'WebCore::WebGLSampler' class WebGLSampler; ^ In file included from WebCore\DerivedSources\JSWebGLRenderingContext.cpp:25: In file included from WebCore\DerivedSources/JSWebGLRenderingContext.h:25: In file included from ..\..\Source\WebCore\bindings\js/JSDOMWrapper.h:24: In file included from ..\..\Source\WebCore\bindings\js\JSDOMGlobalObject.h:29: In file included from WebCore\DerivedSources\WebCoreJSBuiltinInternals.h:38: In file included from WebCore\DerivedSources/JSDOMBindingInternalsBuiltins.h:34: In file included from JavaScriptCore\PrivateHeaders\JavaScriptCore/Identifier.h:23: In file included from JavaScriptCore\PrivateHeaders\JavaScriptCore/ArrayConventions.h:23: In file included from JavaScriptCore\PrivateHeaders\JavaScriptCore/IndexingHeader.h:28: In file included from JavaScriptCore\PrivateHeaders\JavaScriptCore/PropertyStorage.h:28: In file included from JavaScriptCore\PrivateHeaders\JavaScriptCore/WriteBarrier.h:29: In file included from JavaScriptCore\PrivateHeaders\JavaScriptCore/HandleTypes.h:28: In file included from JavaScriptCore\PrivateHeaders\JavaScriptCore/JSCJSValue.h:25: In file included from JavaScriptCore\PrivateHeaders\JavaScriptCore/Concurrency.h:28: In file included from WTF\Headers\wtf/PrintStream.h:36: WTF\Headers\wtf/RefPtr.h(42,16): error: member access into incomplete type 'WebCore::WebGLTransformFeedback' ptr->deref(); ^ WTF\Headers\wtf/RefPtr.h(73,47): note: in instantiation of member function 'WTF::DefaultRefDerefTraits<WebCore::WebGLTransformFeedback>::derefIfNotNull' requested here ALWAYS_INLINE ~RefPtr() { RefDerefTraits::derefIfNotNull(PtrTraits::exchange(m_ptr, nullptr)); } ^ WTF\Headers\wtf/Variant.h(446,18): note: in instantiation of member function 'WTF::RefPtr<WebCore::WebGLTransformFeedback, WTF::RawPtrTraits<WebCore::WebGLTransformFeedback>, WTF::DefaultRefDerefTraits<WebCore::WebGLTransformFeedback>>::~RefPtr' requested here __get().~_Type(); ^ WTF\Headers\wtf/Variant.h(483,15): note: in instantiation of member function 'WTF::__storage_wrapper<WTF::RefPtr<WebCore::WebGLTransformFeedback, WTF::RawPtrTraits<WebCore::WebGLTransformFeedback>, WTF::DefaultRefDerefTraits<WebCore::WebGLTransformFeedback>>>::__destroy' requested here __val.__destroy(); ^ WTF\Headers\wtf/Variant.h(554,35): note: in instantiation of member function 'WTF::__variant_storage<WTF::RefPtr<WebCore::WebGLTransformFeedback, WTF::RawPtrTraits<WebCore::WebGLTransformFeedback>, WTF::DefaultRefDerefTraits<WebCore::WebGLTransformFeedback>>, false>::__destroy' requested here __variant_storage<_Type>::__destroy(__val); ^ WTF\Headers\wtf/Variant.h(673,16): note: in instantiation of member function 'WTF::__variant_data<WTF::RefPtr<WebCore::WebGLTransformFeedback, WTF::RawPtrTraits<WebCore::WebGLTransformFeedback>, WTF::DefaultRefDerefTraits<WebCore::WebGLTransformFeedback>>>::__destroy' requested here __head.__destroy(in_place<0>); ^ WTF\Headers\wtf/Variant.h(677,16): note: (skipping 21 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) __rest.__destroy(in_place<_Index-1>); ^ WTF\Headers\wtf/Variant.h(828,31): note: in instantiation of function template specialization 'WTF::__variant_data<nullptr_t, bool, int, unsigned int, long long, float, WTF::String, WTF::Vector<bool, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<unsigned int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Float32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Int32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>>, WTF::RefPtr<WebCore::WebGLBuffer, WTF::RawPtrTraits<WebCore::WebGLBuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLBuffer>>, WTF::RefPtr<WebCore::WebGLFramebuffer, WTF::RawPtrTraits<WebCore::WebGLFramebuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLFramebuffer>>, WTF::RefPtr<WebCore::WebGLProgram, WTF::RawPtrTraits<WebCore::WebGLProgram>, WTF::DefaultRefDerefTraits<WebCore::WebGLProgram>>, WTF::RefPtr<WebCore::WebGLRenderbuffer, WTF::RawPtrTraits<WebCore::WebGLRenderbuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLRenderbuffer>>, WTF::RefPtr<WebCore::WebGLTexture, WTF::RawPtrTraits<WebCore::WebGLTexture>, WTF::DefaultRefDerefTraits<WebCore::WebGLTexture>>, WTF::RefPtr<WebCore::WebGLVertexArrayObjectOES, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObjectOES>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObjectOES>>, WTF::RefPtr<WebCore::WebGLSampler, WTF::RawPtrTraits<WebCore::WebGLSampler>, WTF::DefaultRefDerefTraits<WebCore::WebGLSampler>>, WTF::RefPtr<WebCore::WebGLTransformFeedback, WTF::RawPtrTraits<WebCore::WebGLTransformFeedback>, WTF::DefaultRefDerefTraits<WebCore::WebGLTransformFeedback>>, WTF::RefPtr<WebCore::WebGLVertexArrayObject, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObject>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObject>>>::__destroy<21>' requested here __self->__storage.__destroy(in_place<_Index>); ^ WTF\Headers\wtf/Variant.h(840,10): note: in instantiation of function template specialization 'WTF::__destroy_op_table<WTF::Variant<nullptr_t, bool, int, unsigned int, long long, float, WTF::String, WTF::Vector<bool, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<unsigned int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Float32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Int32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>>, WTF::RefPtr<WebCore::WebGLBuffer, WTF::RawPtrTraits<WebCore::WebGLBuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLBuffer>>, WTF::RefPtr<WebCore::WebGLFramebuffer, WTF::RawPtrTraits<WebCore::WebGLFramebuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLFramebuffer>>, WTF::RefPtr<WebCore::WebGLProgram, WTF::RawPtrTraits<WebCore::WebGLProgram>, WTF::DefaultRefDerefTraits<WebCore::WebGLProgram>>, WTF::RefPtr<WebCore::WebGLRenderbuffer, WTF::RawPtrTraits<WebCore::WebGLRenderbuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLRenderbuffer>>, WTF::RefPtr<WebCore::WebGLTexture, WTF::RawPtrTraits<WebCore::WebGLTexture>, WTF::DefaultRefDerefTraits<WebCore::WebGLTexture>>, WTF::RefPtr<WebCore::WebGLVertexArrayObjectOES, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObjectOES>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObjectOES>>, WTF::RefPtr<WebCore::WebGLSampler, WTF::RawPtrTraits<WebCore::WebGLSampler>, WTF::DefaultRefDerefTraits<WebCore::WebGLSampler>>, WTF::RefPtr<WebCore::WebGLTransformFeedback, WTF::RawPtrTraits<WebCore::WebGLTransformFeedback>, WTF::DefaultRefDerefTraits<WebCore::WebGLTransformFeedback>>, WTF::RefPtr<WebCore::WebGLVertexArrayObject, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObject>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObject>>>, WTF::__index_sequence<0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22>>::__destroy_func<21>' requested here &__destroy_func<_Indices>... ^ WTF\Headers\wtf/Variant.h(1474,38): note: in instantiation of static data member 'WTF::__destroy_op_table<WTF::Variant<nullptr_t, bool, int, unsigned int, long long, float, WTF::String, WTF::Vector<bool, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<unsigned int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Float32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Int32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>>, WTF::RefPtr<WebCore::WebGLBuffer, WTF::RawPtrTraits<WebCore::WebGLBuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLBuffer>>, WTF::RefPtr<WebCore::WebGLFramebuffer, WTF::RawPtrTraits<WebCore::WebGLFramebuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLFramebuffer>>, WTF::RefPtr<WebCore::WebGLProgram, WTF::RawPtrTraits<WebCore::WebGLProgram>, WTF::DefaultRefDerefTraits<WebCore::WebGLProgram>>, WTF::RefPtr<WebCore::WebGLRenderbuffer, WTF::RawPtrTraits<WebCore::WebGLRenderbuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLRenderbuffer>>, WTF::RefPtr<WebCore::WebGLTexture, WTF::RawPtrTraits<WebCore::WebGLTexture>, WTF::DefaultRefDerefTraits<WebCore::WebGLTexture>>, WTF::RefPtr<WebCore::WebGLVertexArrayObjectOES, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObjectOES>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObjectOES>>, WTF::RefPtr<WebCore::WebGLSampler, WTF::RawPtrTraits<WebCore::WebGLSampler>, WTF::DefaultRefDerefTraits<WebCore::WebGLSampler>>, WTF::RefPtr<WebCore::WebGLTransformFeedback, WTF::RawPtrTraits<WebCore::WebGLTransformFeedback>, WTF::DefaultRefDerefTraits<WebCore::WebGLTransformFeedback>>, WTF::RefPtr<WebCore::WebGLVertexArrayObject, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObject>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObject>>>, WTF::__index_sequence<0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22>>::__apply' requested here __destroy_op_table<Variant>::__apply[index()](this); ^ WTF\Headers\wtf/Variant.h(925,39): note: in instantiation of member function 'WTF::Variant<nullptr_t, bool, int, unsigned int, long long, float, WTF::String, WTF::Vector<bool, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<unsigned int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Float32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Int32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>>, WTF::RefPtr<WebCore::WebGLBuffer, WTF::RawPtrTraits<WebCore::WebGLBuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLBuffer>>, WTF::RefPtr<WebCore::WebGLFramebuffer, WTF::RawPtrTraits<WebCore::WebGLFramebuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLFramebuffer>>, WTF::RefPtr<WebCore::WebGLProgram, WTF::RawPtrTraits<WebCore::WebGLProgram>, WTF::DefaultRefDerefTraits<WebCore::WebGLProgram>>, WTF::RefPtr<WebCore::WebGLRenderbuffer, WTF::RawPtrTraits<WebCore::WebGLRenderbuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLRenderbuffer>>, WTF::RefPtr<WebCore::WebGLTexture, WTF::RawPtrTraits<WebCore::WebGLTexture>, WTF::DefaultRefDerefTraits<WebCore::WebGLTexture>>, WTF::RefPtr<WebCore::WebGLVertexArrayObjectOES, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObjectOES>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObjectOES>>, WTF::RefPtr<WebCore::WebGLSampler, WTF::RawPtrTraits<WebCore::WebGLSampler>, WTF::DefaultRefDerefTraits<WebCore::WebGLSampler>>, WTF::RefPtr<WebCore::WebGLTransformFeedback, WTF::RawPtrTraits<WebCore::WebGLTransformFeedback>, WTF::DefaultRefDerefTraits<WebCore::WebGLTransformFeedback>>, WTF::RefPtr<WebCore::WebGLVertexArrayObject, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObject>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObject>>>::__destroy_self' requested here static_cast<_Derived*>(this)->__destroy_self(); ^ WTF\Headers\wtf/Variant.h(1442,7): note: in instantiation of member function 'WTF::__variant_base<WTF::Variant<nullptr_t, bool, int, unsigned int, long long, float, WTF::String, WTF::Vector<bool, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<unsigned int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Float32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Float32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Int32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Int32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint32Adaptor>>>, WTF::RefPtr<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>, WTF::RawPtrTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>, WTF::DefaultRefDerefTraits<JSC::GenericTypedArrayView<JSC::Uint8Adaptor>>>, WTF::RefPtr<WebCore::WebGLBuffer, WTF::RawPtrTraits<WebCore::WebGLBuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLBuffer>>, WTF::RefPtr<WebCore::WebGLFramebuffer, WTF::RawPtrTraits<WebCore::WebGLFramebuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLFramebuffer>>, WTF::RefPtr<WebCore::WebGLProgram, WTF::RawPtrTraits<WebCore::WebGLProgram>, WTF::DefaultRefDerefTraits<WebCore::WebGLProgram>>, WTF::RefPtr<WebCore::WebGLRenderbuffer, WTF::RawPtrTraits<WebCore::WebGLRenderbuffer>, WTF::DefaultRefDerefTraits<WebCore::WebGLRenderbuffer>>, WTF::RefPtr<WebCore::WebGLTexture, WTF::RawPtrTraits<WebCore::WebGLTexture>, WTF::DefaultRefDerefTraits<WebCore::WebGLTexture>>, WTF::RefPtr<WebCore::WebGLVertexArrayObjectOES, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObjectOES>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObjectOES>>, WTF::RefPtr<WebCore::WebGLSampler, WTF::RawPtrTraits<WebCore::WebGLSampler>, WTF::DefaultRefDerefTraits<WebCore::WebGLSampler>>, WTF::RefPtr<WebCore::WebGLTransformFeedback, WTF::RawPtrTraits<WebCore::WebGLTransformFeedback>, WTF::DefaultRefDerefTraits<WebCore::WebGLTransformFeedback>>, WTF::RefPtr<WebCore::WebGLVertexArrayObject, WTF::RawPtrTraits<WebCore::WebGLVertexArrayObject>, WTF::DefaultRefDerefTraits<WebCore::WebGLVertexArrayObject>>>, false>::~__variant_base' requested here class Variant: ^ ..\..\Source\WebCore\html\canvas\WebGLAny.h(49,7): note: forward declaration of 'WebCore::WebGLTransformFeedback' class WebGLTransformFeedback; ^ 2 errors generated.
Created attachment 423086 [details] Patch
Created attachment 423092 [details] Patch
Comment on attachment 423092 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=423092&action=review > Source/WebCore/html/canvas/WebGLRenderingContextBase.h:47 > +#include "WebGLVertexArrayObject.h" These are WebGL 2.0-specific concepts and including their headers in the base class's header seems conceptually wrong. Can you find another solution?
Created attachment 423094 [details] Patch
Comment on attachment 423092 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=423092&action=review >> Source/WebCore/html/canvas/WebGLRenderingContextBase.h:47 >> +#include "WebGLVertexArrayObject.h" > > These are WebGL 2.0-specific concepts and including their headers in the base class's header seems conceptually wrong. Can you find another solution? Hmm, WebGLAny includes the WebGL 2.0-specific types. I don't know how it can do that.
Comment on attachment 423094 [details] Patch Let’s land this patch to unblock the build. I am also not sure how to address Kenneth point.
commit-queue failed to commit attachment 423094 [details] to WebKit repository. To retry, please set cq+ flag again.
Committed r274382: <https://commits.webkit.org/r274382> All reviewed patches have been landed. Closing bug and clearing flags on attachment 423094 [details].
<rdar://problem/75391776>
Thanks for the fix! The includes should go to webglany.h .. I can try to remember to fix it after implementing nonunified builds for Mac
(In reply to Kimmo Kinnunen from comment #10) > The includes should go to webglany.h .. I can try to remember to fix it > after implementing nonunified builds for Mac That's my first attempt (attachment#423086 [details]), but it turned out it involves a XCode problem. https://ews-build.webkit.org/#/builders/55/builds/4143 If you create a patch for Mac port, I'd be glad to test it for WinCairo port Non-Unified builds.
(In reply to Fujii Hironori from comment #11) > (In reply to Kimmo Kinnunen from comment #10) > > The includes should go to webglany.h .. I can try to remember to fix it > > after implementing nonunified builds for Mac > > That's my first attempt (attachment#423086 [details]), but it turned out it > involves a XCode problem. > https://ews-build.webkit.org/#/builders/55/builds/4143 > If you create a patch for Mac port, I'd be glad to test it for WinCairo port > Non-Unified builds. I think that means WebGLAny is a "private framework public header", and if it includes something, that something must also be "private framework public header". E.g. you'd need to include with <WebGLSampler.h> and then mark WebGLSampler.h framework private, too. Which is tricky to say the least without Xcode. Sure, I'll try.
(In reply to youenn fablet from comment #6) > Comment on attachment 423094 [details] > Patch > > Let’s land this patch to unblock the build. > I am also not sure how to address Kenneth point. I suggest using forward declarations in the WebGLRenderingContextBase header and only including the needed headers in .cpp files.
(In reply to Kenneth Russell from comment #13) > I suggest using forward declarations in the WebGLRenderingContextBase header > and only including the needed headers in .cpp files. I think the error says that it already sees the forward declaration. This is the case where WebGLAny uses things by value, but does not include the headers. Thus all clients of WebGLAny must include the headers -- which is impossible, as they should not be able to define how WebGLAny is implemented. Same as: class WebGLAny { public: String value; }; So in this case, the WebGLAny should #include <wtf/String.h>, as the other option does not make sense.
(In reply to Kimmo Kinnunen from comment #14) > (In reply to Kenneth Russell from comment #13) > > I suggest using forward declarations in the WebGLRenderingContextBase header > > and only including the needed headers in .cpp files. > > I think the error says that it already sees the forward declaration. > > This is the case where WebGLAny uses things by value, but does not include > the headers. Thus all clients of WebGLAny must include the headers -- which > is impossible, as they should not be able to define how WebGLAny is > implemented. > > Same as: > > class WebGLAny { > public: > String value; > }; > > So in this case, the WebGLAny should #include <wtf/String.h>, as the other > option does not make sense. OK, thanks for the background - still, I'd suggest encapsulating the header inclusion as best as possible, for example by adding the #includes only to WebGLAny.h.