The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Narratore, reference main (18a9cb), with Swift 6.2 for macOS (SPM) on 22 Jun 2025 19:09:24 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/broomburgo/Narratore.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/broomburgo/Narratore
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 18a9cb4 Strict concurrency checking + several improvements (#2)
Cloned https://github.com/broomburgo/Narratore.git
Revision (git rev-parse @):
18a9cb486e1b2e0d9a1239ba74736cdd588a2ac1
SUCCESS checkout https://github.com/broomburgo/Narratore.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/broomburgo/Narratore.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-1EA4D86E10B52AF.txt
[3/11] Compiling Narratore Handler.swift
[4/11] Compiling Narratore DSL.swift
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/DSL.swift:17:30: warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
 15 |       anchor: anchor,
 16 |       getStep: .init {
 17 |         let messages = await getMessages($0)
    |                              `- warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
 18 |
 19 |         return .tell(tags: tags, getMessages: {
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/DSL.swift:41:50: warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
 39 |     _ update: @escaping Update<Scene.Game>
 40 |   ) -> SceneStep<Scene> {
 41 |     .init(anchor: anchor, getStep: .init { _ in .init(update: update) })
    |                                                  `- warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
 42 |   }
 43 |
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/DSL.swift:53:9: warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
 51 |       anchor: anchor,
 52 |       getStep: .init {
 53 |         await .init(choice: .init(options: getOptions($0), tags: tags))
    |         `- warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
 54 |       }
 55 |     )
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/DSL.swift:69:10: warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
 67 |       anchor: anchor,
 68 |       getStep: .init { context in
 69 |         .init(textRequest: .init(
    |          `- warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
 70 |           message: getMessage(),
 71 |           validate: validate,
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/DSL.swift:72:22: warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
 70 |           message: getMessage(),
 71 |           validate: validate,
 72 |           getStep: { await ifValid(context, $0) },
    |                      `- warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
 73 |           tags: tags
 74 |         ))
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/DSL.swift:86:10: warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
 84 |       anchor: nil,
 85 |       getStep: .init { _ in
 86 |         .init(
    |          `- warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
 87 |           jump: .init(
 88 |             narration: .init(
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/DSL.swift:102:50: warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
100 |   /// Creates a step that will be skipped; useful to establish a simple anchor that will not make the player acknowledge a narration or make a choice.
101 |   public static func skip(anchor: Scene.Anchor? = nil) -> SceneStep<Scene> {
102 |     .init(anchor: anchor, getStep: .init { _ in .skip })
    |                                                  `- warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
103 |   }
104 |
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/DSL.swift:122:10: warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
120 |       anchor: anchor,
121 |       getStep: .init { _ in
122 |         .tell(
    |          `- warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
123 |           tags: tags,
124 |           getMessages: { [.init(id: id, text: self)] },
[5/11] Compiling Narratore Setting.swift
[6/11] Compiling Narratore Runner.swift
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/Runner.swift:157:27: warning: capture of non-sendable type 'Game.Generate.Type' in an isolated closure
155 |
156 |   init() {
157 |     randomRatio = { await Game.Generate.randomRatio() }
    |                           `- warning: capture of non-sendable type 'Game.Generate.Type' in an isolated closure
158 |     uniqueString = { await Game.Generate.uniqueString() }
159 |   }
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/Runner.swift:158:28: warning: capture of non-sendable type 'Game.Generate.Type' in an isolated closure
156 |   init() {
157 |     randomRatio = { await Game.Generate.randomRatio() }
158 |     uniqueString = { await Game.Generate.uniqueString() }
    |                            `- warning: capture of non-sendable type 'Game.Generate.Type' in an isolated closure
159 |   }
160 | }
[7/11] Compiling Narratore ResultBuilders.swift
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/ResultBuilders.swift:97:12: warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
 95 |         anchor: nil,
 96 |         getStep: .init { _ in
 97 |           .init(
    |            `- warning: capture of non-sendable type 'Scene.Game.Type' in an isolated closure
 98 |             narration: .init(
 99 |               messages: [.init(id: nil, text: expression)],
[8/11] Emitting module Narratore
[9/11] Compiling Narratore Story.swift
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/Story.swift:68:29: warning: capture of non-sendable type 'Self.Game.Type' in an isolated closure
 66 |
 67 |       guard helper.id == Self.id else {
 68 |         throw Failure<Game>.invalidSceneId(expected: Self.id, received: helper.id)
    |                             `- warning: capture of non-sendable type 'Self.Game.Type' in an isolated closure
 69 |       }
 70 |
[10/11] Compiling Narratore Script.swift
[11/11] Compiling Narratore Step.swift
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/Step.swift:35:22: warning: capture of non-sendable type 'Game.Type' in an isolated closure
 33 | extension Step {
 34 |   public static var skip: Self {
 35 |     .init { _, _ in .advance(nil) }
    |                      `- warning: capture of non-sendable type 'Game.Type' in an isolated closure
 36 |   }
 37 |
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/Step.swift:40:46: warning: capture of non-sendable type 'Game.Type' in an isolated closure
 38 |   public init(choice: Choice<Game>) {
 39 |     self.init { info, handling in
 40 |       guard let firstOption = choice.options.first else {
    |                                              `- warning: capture of non-sendable type 'Game.Type' in an isolated closure
 41 |         if choice.config.failIfNoOptions {
 42 |           handling.handle(event: .errorProduced(.noOptions(choice: choice)))
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/Step.swift:38:15: warning: capture of non-sendable type 'Game.Type' in an isolated closure
 36 |   }
 37 |
 38 |   public init(choice: Choice<Game>) {
    |               `- warning: capture of non-sendable type 'Game.Type' in an isolated closure
 39 |     self.init { info, handling in
 40 |       guard let firstOption = choice.options.first else {
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/Step.swift:54:15: warning: capture of non-sendable type 'Game.Generate.Type' in an isolated closure
 52 |       for option in choice.options {
 53 |         await playerOptions.append(.init(
 54 |           id: Game.Generate.uniqueString(),
    |               `- warning: capture of non-sendable type 'Game.Generate.Type' in an isolated closure
 55 |           message: option.message,
 56 |           tags: option.tags
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/Step.swift:97:18: warning: capture of non-sendable type 'Game.Type' in an isolated closure
 95 |   public init(textRequest: TextRequest<Game>) {
 96 |     self.init { info, handling in
 97 |       let next = await handling.answer(request: .init(
    |                  `- warning: capture of non-sendable type 'Game.Type' in an isolated closure
 98 |         message: textRequest.message,
 99 |         validate: {
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/Step.swift:95:15: warning: capture of non-sendable type 'Game.Type' in an isolated closure
 93 |   }
 94 |
 95 |   public init(textRequest: TextRequest<Game>) {
    |               `- warning: capture of non-sendable type 'Game.Type' in an isolated closure
 96 |     self.init { info, handling in
 97 |       let next = await handling.answer(request: .init(
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/Step.swift:100:11: warning: capture of non-sendable type 'Game.Type' in an isolated closure
 98 |         message: textRequest.message,
 99 |         validate: {
100 |           switch textRequest.validate($0) {
    |           `- warning: capture of non-sendable type 'Game.Type' in an isolated closure
101 |           case .valid(let validated):
102 |             .valid(.init(value: validated.text))
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/Step.swift:95:15: warning: capture of non-sendable type 'Game.Type' in an isolated closure
 93 |   }
 94 |
 95 |   public init(textRequest: TextRequest<Game>) {
    |               `- warning: capture of non-sendable type 'Game.Type' in an isolated closure
 96 |     self.init { info, handling in
 97 |       let next = await handling.answer(request: .init(
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/Step.swift:133:36: warning: capture of non-sendable type 'Game.Type' in an isolated closure
131 |   public init(narration: Narration<Game>) {
132 |     self.init { info, handling in
133 |       let next: Next<Game, Void> = if !narration.messages.isEmpty || !narration.tags.isEmpty {
    |                                    `- warning: capture of non-sendable type 'Game.Type' in an isolated closure
134 |         await handling.acknowledge(narration: .init(
135 |           messages: narration.messages,
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/Step.swift:131:15: warning: capture of non-sendable type 'Game.Type' in an isolated closure
129 |   }
130 |
131 |   public init(narration: Narration<Game>) {
    |               `- warning: capture of non-sendable type 'Game.Type' in an isolated closure
132 |     self.init { info, handling in
133 |       let next: Next<Game, Void> = if !narration.messages.isEmpty || !narration.tags.isEmpty {
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/Step.swift:162:36: warning: capture of non-sendable type 'Game.Type' in an isolated closure
160 |   public init(jump: Jump<Game>) {
161 |     self.init { info, handling in
162 |       let next: Next<Game, Void> = if !jump.narration.messages.isEmpty || !jump.narration.tags.isEmpty {
    |                                    `- warning: capture of non-sendable type 'Game.Type' in an isolated closure
163 |         await handling.acknowledge(narration: .init(
164 |           messages: jump.narration.messages,
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/Step.swift:160:15: warning: capture of non-sendable type 'Game.Type' in an isolated closure
158 |   }
159 |
160 |   public init(jump: Jump<Game>) {
    |               `- warning: capture of non-sendable type 'Game.Type' in an isolated closure
161 |     self.init { info, handling in
162 |       let next: Next<Game, Void> = if !jump.narration.messages.isEmpty || !jump.narration.tags.isEmpty {
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/Step.swift:189:15: warning: capture of non-sendable type 'Game.Type' in an isolated closure
187 |   }
188 |
189 |   public init(update: @escaping Update<Game>) {
    |               `- warning: capture of non-sendable type 'Game.Type' in an isolated closure
190 |     self.init { info, _ in
191 |       await update(&info.world)
/Users/admin/builder/spi-builder-workspace/Sources/Narratore/Step.swift:191:21: warning: capture of non-sendable type 'Game.Type' in an isolated closure
189 |   public init(update: @escaping Update<Game>) {
190 |     self.init { info, _ in
191 |       await update(&info.world)
    |                     `- warning: capture of non-sendable type 'Game.Type' in an isolated closure
192 |       return .advance(nil)
193 |     }
Build complete! (0.89s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Narratore",
  "name" : "Narratore",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "Narratore",
      "targets" : [
        "Narratore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "NarratoreTests",
      "module_type" : "SwiftTarget",
      "name" : "NarratoreTests",
      "path" : "Tests/NarratoreTests",
      "sources" : [
        "NarratoreTests.swift",
        "TestValuesAndMocks.swift"
      ],
      "target_dependencies" : [
        "Narratore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Narratore",
      "module_type" : "SwiftTarget",
      "name" : "Narratore",
      "path" : "Sources/Narratore",
      "product_memberships" : [
        "Narratore"
      ],
      "sources" : [
        "DSL.swift",
        "Handler.swift",
        "ResultBuilders.swift",
        "Runner.swift",
        "Script.swift",
        "Setting.swift",
        "Step.swift",
        "Story.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Done.