From 928ffcfa5edb2f53e3008e95ad2d575821bb1733 Mon Sep 17 00:00:00 2001 From: "Sven A. Schmidt" Date: Tue, 6 Oct 2020 15:28:19 +0200 Subject: [PATCH] Support for Swift 5.3 on Linux (#59) * Work around for compiler crash * Add review warning * Add "&& os(Linux)" --- Sources/Ink/API/MarkdownParser.swift | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Sources/Ink/API/MarkdownParser.swift b/Sources/Ink/API/MarkdownParser.swift index 5049654..7445da7 100644 --- a/Sources/Ink/API/MarkdownParser.swift +++ b/Sources/Ink/API/MarkdownParser.swift @@ -67,7 +67,19 @@ public struct MarkdownParser { let type = fragmentType(for: reader.currentCharacter, nextCharacter: reader.nextCharacter) + #if swift(>=5.4) + #warning("review compiler crash work-around below") + #elseif swift(>=5.3) && os(Linux) + // inline function call to work around https://bugs.swift.org/browse/SR-13645 + let fragment: ParsedFragment = try { + let startIndex = reader.currentIndex + let fragment = try type.readOrRewind(using: &reader) + let rawString = reader.characters(in: startIndex..