The errors we got are all about the spaceship operator, and disabling it fixes the build:
/usr/include/vulkan/vulkan_structs.hpp: In member function ‘std::strong_ordering vk::DisplayPropertiesKHR::operator<=>(const vk::DisplayPropertiesKHR&) const’:
/usr/include/vulkan/vulkan_structs.hpp:56600:31: error: no match for ‘operator<=>’ (operand types are ‘const vk::DisplayKHR’ and ‘const vk::DisplayKHR’)
56600 | if ( auto cmp = display <=> rhs.display; cmp != 0 )
| ~~~~~~~ ^~~ ~~~~~~~~~~~
| | |
| | const vk::DisplayKHR
| const vk::DisplayKHR
• there are 7 candidates
/usr/include/vulkan/vulkan_structs.hpp:56600:31:
56600 | if ( auto cmp = display <=> rhs.display; cmp != 0 )
| ~~~~~~~~^~~~~~~~~~~~~~~
• candidate 1: ‘template<unsigned int N, unsigned int M> std::strong_ordering vk::operator<=>(const ArrayWrapper1D<char, N>&, const ArrayWrapper1D<char, M>&)’ (reversed)
/usr/include/vulkan/vulkan.hpp:165:24:
165 | std::strong_ordering operator<=>( ArrayWrapper1D<char, N> const & lhs, ArrayWrapper1D<char, M> const & rhs ) VULKAN_HPP_NOEXCEPT
| ^~~~~~~~
• template argument deduction/substitution failed:
• ‘const vk::DisplayKHR’ is not derived from ‘const vk::ArrayWrapper1D<char, N>’
/usr/include/vulkan/vulkan_structs.hpp:56600:39:
56600 | if ( auto cmp = display <=> rhs.display; cmp != 0 )
| ^~~~~~~
• candidate 2: ‘template<unsigned int N> std::strong_ordering vk::operator<=>(const std::string&, const ArrayWrapper1D<char, N>&)’ (reversed)
/usr/include/vulkan/vulkan.hpp:211:24:
211 | std::strong_ordering operator<=>( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
| ^~~~~~~~
• template argument deduction/substitution failed:
• ‘const vk::DisplayKHR’ is not derived from ‘const vk::ArrayWrapper1D<char, N>’
/usr/include/vulkan/vulkan_structs.hpp:56600:39:
56600 | if ( auto cmp = display <=> rhs.display; cmp != 0 )
| ^~~~~~~
• candidate 3: ‘template<unsigned int N> std::strong_ordering vk::operator<=>(const ArrayWrapper1D<char, N>&, const std::string&)’ (reversed)
/usr/include/vulkan/vulkan.hpp:255:24:
255 | std::strong_ordering operator<=>( ArrayWrapper1D<char, N> const & lhs, std::string const & rhs ) VULKAN_HPP_NOEXCEPT
| ^~~~~~~~
• template argument deduction/substitution failed:
• ‘const vk::DisplayKHR’ is not derived from ‘const vk::ArrayWrapper1D<char, N>’
/usr/include/vulkan/vulkan_structs.hpp:56600:39:
56600 | if ( auto cmp = display <=> rhs.display; cmp != 0 )
| ^~~~~~~
• candidate 4: ‘operator<=>(int, int)’ (built-in)
/usr/include/vulkan/vulkan_structs.hpp:56600:31:
56600 | if ( auto cmp = display <=> rhs.display; cmp != 0 )
| ~~~~~~~~^~~~~~~~~~~~~~~
• no known conversion for argument 2 from ‘const vk::DisplayKHR’ to ‘int’
• candidate 5: ‘operator<=>(int, long long unsigned int)’ (built-in)
• no known conversion for argument 2 from ‘const vk::DisplayKHR’ to ‘long long unsigned int’
• candidate 6: ‘operator<=>(long long unsigned int, int)’ (built-in)
• no known conversion for argument 2 from ‘const vk::DisplayKHR’ to ‘int’
• candidate 7: ‘operator<=>(long long unsigned int, long long unsigned int)’ (built-in)
• no known conversion for argument 2 from ‘const vk::DisplayKHR’ to ‘long long unsigned int’
This is with version 1.4.341.0 on Fedora: https://bugs.kde.org/show_bug.cgi?id=520589
The errors we got are all about the spaceship operator, and disabling it fixes the build: