Bug 223142 - Non-unified builds can't compile JSWebGLRenderingContext.cpp: error: member access into incomplete type 'WebCore::WebGLSampler'
Summary: Non-unified builds can't compile JSWebGLRenderingContext.cpp: error: member a...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebGL (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Fujii Hironori
URL:
Keywords: InRadar
Depends on:
Blocks: 223177 222982
  Show dependency treegraph
 
Reported: 2021-03-12 14:58 PST by Fujii Hironori
Modified: 2021-03-16 14:45 PDT (History)
12 users (show)

See Also:


Attachments
Patch (2.76 KB, patch)
2021-03-12 15:13 PST, Fujii Hironori
no flags Details | Formatted Diff | Diff
Patch (2.93 KB, patch)
2021-03-12 17:39 PST, Fujii Hironori
no flags Details | Formatted Diff | Diff
Patch (2.74 KB, patch)
2021-03-12 20:52 PST, Fujii Hironori
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Fujii Hironori 2021-03-12 14:58:59 PST
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.
Comment 1 Fujii Hironori 2021-03-12 15:13:46 PST
Created attachment 423086 [details]
Patch
Comment 2 Fujii Hironori 2021-03-12 17:39:03 PST
Created attachment 423092 [details]
Patch
Comment 3 Kenneth Russell 2021-03-12 18:17:24 PST
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?
Comment 4 Fujii Hironori 2021-03-12 20:52:26 PST
Created attachment 423094 [details]
Patch
Comment 5 Fujii Hironori 2021-03-12 20:55:35 PST
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 6 youenn fablet 2021-03-13 00:38:49 PST
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.
Comment 7 EWS 2021-03-13 00:58:30 PST
commit-queue failed to commit attachment 423094 [details] to WebKit repository. To retry, please set cq+ flag again.
Comment 8 EWS 2021-03-13 01:36:09 PST
Committed r274382: <https://commits.webkit.org/r274382>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423094 [details].
Comment 9 Radar WebKit Bug Importer 2021-03-13 01:37:15 PST
<rdar://problem/75391776>
Comment 10 Kimmo Kinnunen 2021-03-13 02:44:38 PST
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
Comment 11 Fujii Hironori 2021-03-15 00:19:07 PDT
(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.
Comment 12 Kimmo Kinnunen 2021-03-15 01:56:02 PDT
(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.
Comment 13 Kenneth Russell 2021-03-16 12:36:37 PDT
(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.
Comment 14 Kimmo Kinnunen 2021-03-16 12:59:33 PDT
(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.
Comment 15 Kenneth Russell 2021-03-16 14:45:57 PDT
(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.