From f3836bb831c49cfd38c63cd61ee4969e405a19ce Mon Sep 17 00:00:00 2001 From: HamsterCL Date: Fri, 9 Oct 2026 22:47:38 -0300 Subject: [PATCH] tests: fix the Linux build of ResourceMaterializationTests (#1333) tests: avoid empty optional::emplace() on IndirectDescriptor (fixes Linux build) clang with libstdc++ 14 does not treat std::optional as default-constructible (nested struct with default member initializers), so the argument-less emplace() fails to resolve. Pass an explicit value-initialized IndirectDescriptor, matching the form already used elsewhere in this file. --- tests/ResourceMaterializationTests.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ResourceMaterializationTests.cpp b/tests/ResourceMaterializationTests.cpp index be17c560..eaa47ecc 100644 --- a/tests/ResourceMaterializationTests.cpp +++ b/tests/ResourceMaterializationTests.cpp @@ -243,7 +243,7 @@ void TestSrtAliasesRetainReadPolicy() { program.descriptor_sources.push_back({.dwords = {Value(&first), Value(0u)}, .dword_count = 2}); DescriptorSource indirect; - indirect.indirect_descriptor.emplace().sources = {0, 1}; + indirect.indirect_descriptor.emplace(DescriptorSource::IndirectDescriptor{}).sources = {0, 1}; program.descriptor_sources.push_back(indirect); auto plan = ExtractResourcePlan(program); for (const auto &inst : plan.value_storage) {