WGSL doesn't support hex float parsing. With a test, such as: ``` TEST(WGSLConstLiteralTests, AbstractFloatLiteralHex) { const ConstLiteralTestCase<double> testCases[] = { { "0xa.fp+2"_s, 0xa.fp+2 }, { "0X.3"_s, 0X.3p+0 }, { "0X1.fp-4"_s, 0X1.fp-4 } }; for (const auto& testCase : testCases) { auto parseResult = parseLCharPrimaryExpression(testCase.input); EXPECT_TRUE(parseResult); auto expr = WTFMove(*parseResult); EXPECT_TRUE(expr->isAbstractFloatLiteral()); const auto& floatLiteral = downcast<WGSL::AST::AbstractFloatLiteral>(expr.get()); EXPECT_EQ(floatLiteral.value(), testCase.expectedValue); auto inputLength = testCase.input.length(); EXPECT_EQ(floatLiteral.span(), WGSL::SourceSpan(0, inputLength, inputLength, 0)); } } ```
<rdar://problem/100479770>