This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of SagaParsleyMarkdownReader with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 3

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/loopwerk/SagaParsleyMarkdownReader.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/loopwerk/SagaParsleyMarkdownReader
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at d4fe9fc feat: Expose markdownOptions and syntaxExtensions parameters
Cloned https://github.com/loopwerk/SagaParsleyMarkdownReader.git
Revision (git rev-parse @):
d4fe9fca9829c1fb294af0160c23d5fc4bcf5fe4
SUCCESS checkout https://github.com/loopwerk/SagaParsleyMarkdownReader.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/loopwerk/SagaParsleyMarkdownReader.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/40] Write sources
[5/40] Write swift-version-6F35C1178C84523A.txt
[6/40] Compiling CMarkGFM tagfilter.c
[7/40] Compiling CMarkGFM tasklist.c
[7/40] Compiling CMarkGFM latex.c
[9/40] Compiling CMarkGFM render.c
[10/40] Compiling CMarkGFM registry.c
[11/40] Compiling CMarkGFM references.c
[12/44] Compiling CMarkGFM strikethrough.c
[13/44] Compiling CMarkGFM syntax_extension.c
[14/44] Compiling CMarkGFM plugin.c
[15/44] Compiling CMarkGFM utf8.c
[16/44] Compiling CMarkGFM table.c
[17/44] Compiling CMarkGFM plaintext.c
[18/44] Compiling CMarkGFM map.c
[19/44] Compiling CMarkGFM node.c
[20/44] Compiling CMarkGFM man.c
[21/44] Compiling CMarkGFM linked_list.c
[22/44] Compiling CMarkGFM iterator.c
[23/44] Compiling CMarkGFM houdini_html_e.c
[24/44] Compiling CMarkGFM html.c
[25/44] Compiling CMarkGFM houdini_href_e.c
[26/44] Compiling CMarkGFM houdini_html_u.c
[27/44] Compiling CMarkGFM footnotes.c
[28/44] Compiling CMarkGFM inlines.c
[29/44] Compiling CMarkGFM core-extensions.c
[30/44] Compiling CMarkGFM ext_scanners.c
[31/44] Compiling CMarkGFM xml.c
[32/44] Compiling CMarkGFM cmark_ctype.c
[33/44] Compiling CMarkGFM cmark.c
[34/44] Compiling CMarkGFM commonmark.c
[35/44] Compiling CMarkGFM buffer.c
[36/44] Compiling CMarkGFM scanners.c
[37/44] Compiling CMarkGFM arena.c
[38/44] Compiling CMarkGFM autolink.c
[39/44] Compiling CMarkGFM blocks.c
[41/49] Compiling Parsley SyntaxExtension.swift
[42/49] Compiling Codextended Codextended.swift
[43/49] Emitting module Codextended
[44/49] Compiling Parsley MarkdownOptions.swift
[45/49] Emitting module Parsley
[46/49] Compiling Parsley Document.swift
[47/49] Compiling Parsley Parsley.swift
[48/49] Emitting module PathKit
[49/49] Compiling PathKit PathKit.swift
[50/62] Compiling Saga Reader+Decoder.swift
[51/62] Compiling Saga RenderingContexts.swift
[52/62] Compiling Saga String+Slugify.swift
[53/62] Compiling Saga ProcessingStep.swift
[54/63] Compiling Saga Reader.swift
[55/63] Compiling Saga Saga.swift
[56/63] Compiling Saga Writer.swift
[57/63] Emitting module Saga
[58/63] Compiling Saga Item.swift
[59/63] Compiling Saga ItemWriteMode.swift
[60/63] Compiling Saga MetadataDecoder.swift
[61/63] Compiling Saga Path+Extensions.swift
[62/63] Compiling Saga FileContainer.swift
[63/63] Compiling Saga FileIO.swift
[64/65] Emitting module SagaParsleyMarkdownReader
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Parsley/Sources/Parsley/MarkdownOptions.swift:15:21: warning: static property 'unsafe' is not concurrency-safe because non-'Sendable' type 'MarkdownOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct MarkdownOptions: OptionSet {
   |               `- note: consider making struct 'MarkdownOptions' conform to the 'Sendable' protocol
 2 |   public let rawValue: Int32
 3 |
   :
13 |   static public let validateUTF8 = MarkdownOptions(rawValue: 1 << 9)
14 |   static public let smartQuotes = MarkdownOptions(rawValue: 1 << 10)
15 |   static public let unsafe = MarkdownOptions(rawValue: 1 << 17)
   |                     |- warning: static property 'unsafe' is not concurrency-safe because non-'Sendable' type 'MarkdownOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: annotate 'unsafe' with '@MainActor' if property should only be accessed from the main actor
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | }
17 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Parsley/Sources/Parsley/MarkdownOptions.swift:9:21: warning: static property 'hardBreaks' is not concurrency-safe because non-'Sendable' type 'MarkdownOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct MarkdownOptions: OptionSet {
   |               `- note: consider making struct 'MarkdownOptions' conform to the 'Sendable' protocol
 2 |   public let rawValue: Int32
 3 |
   :
 7 |
 8 |   static public let sourcePosition = MarkdownOptions(rawValue: 1 << 1)
 9 |   static public let hardBreaks = MarkdownOptions(rawValue: 1 << 2)
   |                     |- warning: static property 'hardBreaks' is not concurrency-safe because non-'Sendable' type 'MarkdownOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: annotate 'hardBreaks' with '@MainActor' if property should only be accessed from the main actor
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |   static public let safe = MarkdownOptions(rawValue: 1 << 3)
11 |   static public let noBreaks = MarkdownOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Parsley/Sources/Parsley/MarkdownOptions.swift:14:21: warning: static property 'smartQuotes' is not concurrency-safe because non-'Sendable' type 'MarkdownOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct MarkdownOptions: OptionSet {
   |               `- note: consider making struct 'MarkdownOptions' conform to the 'Sendable' protocol
 2 |   public let rawValue: Int32
 3 |
   :
12 |   static public let normalize = MarkdownOptions(rawValue: 1 << 8)
13 |   static public let validateUTF8 = MarkdownOptions(rawValue: 1 << 9)
14 |   static public let smartQuotes = MarkdownOptions(rawValue: 1 << 10)
   |                     |- warning: static property 'smartQuotes' is not concurrency-safe because non-'Sendable' type 'MarkdownOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: annotate 'smartQuotes' with '@MainActor' if property should only be accessed from the main actor
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |   static public let unsafe = MarkdownOptions(rawValue: 1 << 17)
16 | }
[65/65] Compiling SagaParsleyMarkdownReader SagaParsleyMarkdownReader.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Parsley/Sources/Parsley/MarkdownOptions.swift:15:21: warning: static property 'unsafe' is not concurrency-safe because non-'Sendable' type 'MarkdownOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct MarkdownOptions: OptionSet {
   |               `- note: consider making struct 'MarkdownOptions' conform to the 'Sendable' protocol
 2 |   public let rawValue: Int32
 3 |
   :
13 |   static public let validateUTF8 = MarkdownOptions(rawValue: 1 << 9)
14 |   static public let smartQuotes = MarkdownOptions(rawValue: 1 << 10)
15 |   static public let unsafe = MarkdownOptions(rawValue: 1 << 17)
   |                     |- warning: static property 'unsafe' is not concurrency-safe because non-'Sendable' type 'MarkdownOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: annotate 'unsafe' with '@MainActor' if property should only be accessed from the main actor
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | }
17 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Parsley/Sources/Parsley/MarkdownOptions.swift:9:21: warning: static property 'hardBreaks' is not concurrency-safe because non-'Sendable' type 'MarkdownOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct MarkdownOptions: OptionSet {
   |               `- note: consider making struct 'MarkdownOptions' conform to the 'Sendable' protocol
 2 |   public let rawValue: Int32
 3 |
   :
 7 |
 8 |   static public let sourcePosition = MarkdownOptions(rawValue: 1 << 1)
 9 |   static public let hardBreaks = MarkdownOptions(rawValue: 1 << 2)
   |                     |- warning: static property 'hardBreaks' is not concurrency-safe because non-'Sendable' type 'MarkdownOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: annotate 'hardBreaks' with '@MainActor' if property should only be accessed from the main actor
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |   static public let safe = MarkdownOptions(rawValue: 1 << 3)
11 |   static public let noBreaks = MarkdownOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Parsley/Sources/Parsley/MarkdownOptions.swift:14:21: warning: static property 'smartQuotes' is not concurrency-safe because non-'Sendable' type 'MarkdownOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public struct MarkdownOptions: OptionSet {
   |               `- note: consider making struct 'MarkdownOptions' conform to the 'Sendable' protocol
 2 |   public let rawValue: Int32
 3 |
   :
12 |   static public let normalize = MarkdownOptions(rawValue: 1 << 8)
13 |   static public let validateUTF8 = MarkdownOptions(rawValue: 1 << 9)
14 |   static public let smartQuotes = MarkdownOptions(rawValue: 1 << 10)
   |                     |- warning: static property 'smartQuotes' is not concurrency-safe because non-'Sendable' type 'MarkdownOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: annotate 'smartQuotes' with '@MainActor' if property should only be accessed from the main actor
   |                     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |   static public let unsafe = MarkdownOptions(rawValue: 1 << 17)
16 | }
Build complete! (35.62s)
Fetching https://github.com/loopwerk/Parsley
Fetching https://github.com/loopwerk/Saga.git
[1/263] Fetching parsley
[154/2526] Fetching parsley, saga
Fetched https://github.com/loopwerk/Saga.git from cache (1.27s)
Fetched https://github.com/loopwerk/Parsley from cache (1.27s)
Computing version for https://github.com/loopwerk/Parsley
Computed https://github.com/loopwerk/Parsley at 0.9.0 (0.69s)
Fetching https://github.com/stackotter/swift-cmark-gfm
[1/175] Fetching swift-cmark-gfm
Fetched https://github.com/stackotter/swift-cmark-gfm from cache (0.91s)
Computing version for https://github.com/stackotter/swift-cmark-gfm
Computed https://github.com/stackotter/swift-cmark-gfm at 1.0.2 (0.63s)
Computing version for https://github.com/loopwerk/Saga.git
Computed https://github.com/loopwerk/Saga.git at 1.2.1 (0.69s)
Fetching https://github.com/kylef/PathKit
Fetching https://github.com/JohnSundell/Codextended.git
[1/181] Fetching codextended
[16/1592] Fetching codextended, pathkit
Fetched https://github.com/kylef/PathKit from cache (1.00s)
Fetched https://github.com/JohnSundell/Codextended.git from cache (1.00s)
Computing version for https://github.com/kylef/PathKit
Computed https://github.com/kylef/PathKit at 1.0.1 (2.68s)
Fetching https://github.com/kylef/Spectre.git
[1/1021] Fetching spectre
Fetched https://github.com/kylef/Spectre.git from cache (1.00s)
Computing version for https://github.com/kylef/Spectre.git
Computed https://github.com/kylef/Spectre.git at 0.10.1 (0.76s)
Computing version for https://github.com/JohnSundell/Codextended.git
Computed https://github.com/JohnSundell/Codextended.git at 0.3.0 (0.72s)
Creating working copy for https://github.com/loopwerk/Saga.git
Working copy of https://github.com/loopwerk/Saga.git resolved at 1.2.1
Creating working copy for https://github.com/kylef/Spectre.git
Working copy of https://github.com/kylef/Spectre.git resolved at 0.10.1
Creating working copy for https://github.com/JohnSundell/Codextended.git
Working copy of https://github.com/JohnSundell/Codextended.git resolved at 0.3.0
Creating working copy for https://github.com/stackotter/swift-cmark-gfm
Working copy of https://github.com/stackotter/swift-cmark-gfm resolved at 1.0.2
Creating working copy for https://github.com/kylef/PathKit
Working copy of https://github.com/kylef/PathKit resolved at 1.0.1
Creating working copy for https://github.com/loopwerk/Parsley
Working copy of https://github.com/loopwerk/Parsley resolved at 0.9.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "saga",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/loopwerk/Saga.git"
    },
    {
      "identity" : "parsley",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.6.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/loopwerk/Parsley"
    }
  ],
  "manifest_display_name" : "SagaParsleyMarkdownReader",
  "name" : "SagaParsleyMarkdownReader",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "SagaParsleyMarkdownReader",
      "targets" : [
        "SagaParsleyMarkdownReader"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SagaParsleyMarkdownReaderTests",
      "module_type" : "SwiftTarget",
      "name" : "SagaParsleyMarkdownReaderTests",
      "path" : "Tests/SagaParsleyMarkdownReaderTests",
      "sources" : [
        "SagaParsleyMarkdownReaderTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "SagaParsleyMarkdownReader"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SagaParsleyMarkdownReader",
      "module_type" : "SwiftTarget",
      "name" : "SagaParsleyMarkdownReader",
      "path" : "Sources/SagaParsleyMarkdownReader",
      "product_dependencies" : [
        "Saga",
        "Parsley"
      ],
      "product_memberships" : [
        "SagaParsleyMarkdownReader"
      ],
      "sources" : [
        "SagaParsleyMarkdownReader.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.