Crying on the Bleeding Edge

This makes me sad.

C++26 featurePaper(s)GCC libstdc++Clang libc++MSVC STLApple Clang*
Runtime format strings  (FTM)P2918R21418??????16.0.0

See also: Playing the strings: C++20 std::format: Compile-Time vs. Runtime)


This makes me sad.

vulcan_types.cpp

#include <vulkan/vulkan.h>
#include <memory>

int main()
{
    std::unique_ptr<VkBuffer_T> buffer;

    return 0;
}Code language: C++ (cpp)

clang++ -o vulkan_types vulkan_types.cpp

/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/unique_ptr.h:91:16: error: <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-neutral-0-color">invalid application of 'sizeof' to an incomplete type 'VkBuffer_T'</mark>Code language: HTML, XML (xml)

g++ -o vulkan_types vulkan_types.cpp

/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/unique_ptr.h:91:23: error: invalid application of ‘sizeof’ to incomplete type ‘VkBuffer_T’Code language: PHP (php)

cl vulkan_types.cpp /Fe:vulkan_types.exe

C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.44.35207\include\memory(3308): error C2027: use of undefined type 'VkBuffer_T'
C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.44.35207\include\memory(3308): error C2338: static_assert failed: 'can't delete an incomplete type'
C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.44.35207\include\memory(3309): warning C4150: deletion of pointer to incomplete type 'VkBuffer_T'; no destructor calledCode language: PHP (php)

See also: Vulkan Handle Macros


This makes me sad.

warning: importing an implementation partition unit in a module interface is not recommended. Names from A may not be reachableCode language: JavaScript (javascript)

See also: [Clang][Module] Miss definition of inline function in implementation partition units #101348

Leave a Reply

Your email address will not be published. Required fields are marked *