From 70066e80433cf79169d4fff9278e8d4cd0b350e8 Mon Sep 17 00:00:00 2001 From: wesleyel <48174882+wesleyel@users.noreply.github.com> Date: Tue, 7 Apr 2026 20:35:20 +0800 Subject: [PATCH] Handle invalid inter-element spaces to prevent crashes in debug builds --- Sources/SwiftUIMath/Internal/Display/Typesetter.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Sources/SwiftUIMath/Internal/Display/Typesetter.swift b/Sources/SwiftUIMath/Internal/Display/Typesetter.swift index d87eec6..b13f502 100644 --- a/Sources/SwiftUIMath/Internal/Display/Typesetter.swift +++ b/Sources/SwiftUIMath/Internal/Display/Typesetter.swift @@ -1846,7 +1846,11 @@ extension Math { let spaceArray = getInterElementSpaces()[Int(leftIndex)] let spaceTypeObj = spaceArray[Int(rightIndex)] let spaceType = spaceTypeObj - assert(spaceType != .invalid, "Invalid space between \(left) and \(right)") + // Keep malformed LaTeX from crashing debug builds. Propagating NaN lets callers + // detect the failed layout and surface it as a validation issue instead. + if spaceType == .invalid { + return .nan + } let spaceMultipler = self.getSpacingInMu(spaceType) if spaceMultipler > 0 {