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

Failed to build Nifty Dice Roller, reference v0.1.1 (2d6c57), with Swift 6.0 for macOS (SPM) on 1 Nov 2024 12:56:51 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/NiftyTreeStudios/Nifty-Dice-Roller-cmd.git
Reference: v0.1.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/NiftyTreeStudios/Nifty-Dice-Roller-cmd
 * tag               v0.1.1     -> FETCH_HEAD
HEAD is now at 2d6c577 Modifier to be optional
Cloned https://github.com/NiftyTreeStudios/Nifty-Dice-Roller-cmd.git
Revision (git rev-parse @):
2d6c577b4c521dd48f6361fd56c7d0faa36bbce8
SUCCESS checkout https://github.com/NiftyTreeStudios/Nifty-Dice-Roller-cmd.git at v0.1.1
Fetching https://github.com/apple/swift-argument-parser
[1/12353] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (1.50s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 0.3.2 (0.67s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 0.3.2
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "nifty-dice-roller-cmd",
      "name": "Nifty Dice Roller",
      "url": "https://github.com/NiftyTreeStudios/Nifty-Dice-Roller-cmd.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Nifty-Dice-Roller-cmd",
      "dependencies": [
        {
          "identity": "swift-argument-parser",
          "name": "swift-argument-parser",
          "url": "https://github.com/apple/swift-argument-parser",
          "version": "0.3.2",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-argument-parser",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/NiftyTreeStudios/Nifty-Dice-Roller-cmd.git
[1/30] Fetching nifty-dice-roller-cmd
Fetched https://github.com/NiftyTreeStudios/Nifty-Dice-Roller-cmd.git from cache (0.64s)
Fetching https://github.com/apple/swift-argument-parser from cache
Fetched https://github.com/apple/swift-argument-parser from cache (0.61s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 0.3.2 (0.02s)
Creating working copy for https://github.com/NiftyTreeStudios/Nifty-Dice-Roller-cmd.git
Working copy of https://github.com/NiftyTreeStudios/Nifty-Dice-Roller-cmd.git resolved at v0.1.1 (2d6c577)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 0.3.2
Found 1 product dependencies
  - swift-argument-parser
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/NiftyTreeStudios/Nifty-Dice-Roller-cmd.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/7] Write sources
[2/7] Write ndr-entitlement.plist
[3/7] Write swift-version--7754E27361AE5C74.txt
[5/40] Emitting module ArgumentParser
[6/43] Compiling ArgumentParser Name.swift
[7/43] Compiling ArgumentParser Parsed.swift
[8/43] Compiling ArgumentParser ParsedValues.swift
[9/43] Compiling ArgumentParser BashCompletionsGenerator.swift
[10/43] Compiling ArgumentParser CompletionsGenerator.swift
[11/43] Compiling ArgumentParser FishCompletionsGenerator.swift
[12/43] Compiling ArgumentParser ZshCompletionsGenerator.swift
[13/43] Compiling ArgumentParser Argument.swift
[14/43] Compiling ArgumentParser ArgumentHelp.swift
[15/43] Compiling ArgumentParser CompletionKind.swift
[16/43] Compiling ArgumentParser Errors.swift
[17/43] Compiling ArgumentParser SequenceExtensions.swift
[18/43] Compiling ArgumentParser StringExtensions.swift
[19/43] Compiling ArgumentParser Tree.swift
[20/43] Compiling ArgumentParser ArgumentSet.swift
[21/43] Compiling ArgumentParser CommandParser.swift
[22/43] Compiling ArgumentParser InputOrigin.swift
[23/43] Compiling ArgumentParser Flag.swift
[24/43] Compiling ArgumentParser NameSpecification.swift
[25/43] Compiling ArgumentParser Option.swift
[26/43] Compiling ArgumentParser OptionGroup.swift
[27/43] Compiling ArgumentParser HelpGenerator.swift
[28/43] Compiling ArgumentParser MessageInfo.swift
[29/43] Compiling ArgumentParser UsageGenerator.swift
[30/43] Compiling ArgumentParser ParserError.swift
[31/43] Compiling ArgumentParser SplitArguments.swift
[32/43] Compiling ArgumentParser HelpCommand.swift
[33/43] Compiling ArgumentParser ParsableArgumentsValidation.swift
[34/43] Compiling ArgumentParser ParsableCommand.swift
[35/43] Compiling ArgumentParser ArgumentDecoder.swift
[36/43] Compiling ArgumentParser ArgumentDefinition.swift
[37/43] Compiling ArgumentParser CommandConfiguration.swift
[38/43] Compiling ArgumentParser EnumerableFlag.swift
[39/43] Compiling ArgumentParser ExpressibleByArgument.swift
[40/43] Compiling ArgumentParser ParsableArguments.swift
[41/45] Emitting module diceroller
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:42:16: warning: static property 'configuration' is not concurrency-safe because non-'Sendable' type 'CommandConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
40 |
41 | struct NDR: ParsableCommand {
42 |     static let configuration = CommandConfiguration(
   |                `- warning: static property 'configuration' is not concurrency-safe because non-'Sendable' type 'CommandConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
43 |         abstract: "A Swift command-line tool to roll die",
44 |         subcommands: [Roll.self])
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Types/CommandConfiguration.swift:13:15: note: struct 'CommandConfiguration' does not conform to the 'Sendable' protocol
 11 |
 12 | /// The configuration for a command.
 13 | public struct CommandConfiguration {
    |               `- note: struct 'CommandConfiguration' does not conform to the 'Sendable' protocol
 14 |   /// The name of the command to use on the command line.
 15 |   ///
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ArgumentParser'
 1 | import ArgumentParser
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ArgumentParser'
 2 | import Foundation
 3 |
   :
40 |
41 | struct NDR: ParsableCommand {
42 |     static let configuration = CommandConfiguration(
   |                |- note: annotate 'configuration' 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
43 |         abstract: "A Swift command-line tool to roll die",
44 |         subcommands: [Roll.self])
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:51:23: warning: static property 'configuration' is not concurrency-safe because non-'Sendable' type 'CommandConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
49 | struct Roll: ParsableCommand {
50 |
51 |     public static let configuration = CommandConfiguration(abstract: "A Swift command-line tool to roll die")
   |                       |- warning: static property 'configuration' is not concurrency-safe because non-'Sendable' type 'CommandConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'configuration' 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
52 |
53 |     @Argument(help: "What to roll: the amount of die, type of die (and modifier) -> 2d20+6")
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Types/CommandConfiguration.swift:13:15: note: struct 'CommandConfiguration' does not conform to the 'Sendable' protocol
 11 |
 12 | /// The configuration for a command.
 13 | public struct CommandConfiguration {
    |               `- note: struct 'CommandConfiguration' does not conform to the 'Sendable' protocol
 14 |   /// The name of the command to use on the command line.
 15 |   ///
[42/45] Compiling diceroller main.swift
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:42:16: warning: static property 'configuration' is not concurrency-safe because non-'Sendable' type 'CommandConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
40 |
41 | struct NDR: ParsableCommand {
42 |     static let configuration = CommandConfiguration(
   |                `- warning: static property 'configuration' is not concurrency-safe because non-'Sendable' type 'CommandConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
43 |         abstract: "A Swift command-line tool to roll die",
44 |         subcommands: [Roll.self])
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Types/CommandConfiguration.swift:13:15: note: struct 'CommandConfiguration' does not conform to the 'Sendable' protocol
 11 |
 12 | /// The configuration for a command.
 13 | public struct CommandConfiguration {
    |               `- note: struct 'CommandConfiguration' does not conform to the 'Sendable' protocol
 14 |   /// The name of the command to use on the command line.
 15 |   ///
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ArgumentParser'
 1 | import ArgumentParser
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ArgumentParser'
 2 | import Foundation
 3 |
   :
40 |
41 | struct NDR: ParsableCommand {
42 |     static let configuration = CommandConfiguration(
   |                |- note: annotate 'configuration' 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
43 |         abstract: "A Swift command-line tool to roll die",
44 |         subcommands: [Roll.self])
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:51:23: warning: static property 'configuration' is not concurrency-safe because non-'Sendable' type 'CommandConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
49 | struct Roll: ParsableCommand {
50 |
51 |     public static let configuration = CommandConfiguration(abstract: "A Swift command-line tool to roll die")
   |                       |- warning: static property 'configuration' is not concurrency-safe because non-'Sendable' type 'CommandConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'configuration' 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
52 |
53 |     @Argument(help: "What to roll: the amount of die, type of die (and modifier) -> 2d20+6")
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-argument-parser/Sources/ArgumentParser/Parsable Types/CommandConfiguration.swift:13:15: note: struct 'CommandConfiguration' does not conform to the 'Sendable' protocol
 11 |
 12 | /// The configuration for a command.
 13 | public struct CommandConfiguration {
    |               `- note: struct 'CommandConfiguration' does not conform to the 'Sendable' protocol
 14 |   /// The name of the command to use on the command line.
 15 |   ///
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:35:9: error: main actor-isolated var 'rolledDie' can not be mutated from a nonisolated context
 6 | var modifier: Int = 0
 7 | var total: Int = 0
 8 | var rolledDie: [String] = []
   |     `- note: mutation of this var is only permitted within the actor
 9 |
10 | func separateArguments(roll: String) -> (Int, Int, Int) {
   :
28 | }
29 |
30 | func calculateRoll(dieAmount: Int, dieType: Int, modifier: Int) -> Int {
   |      `- note: add '@MainActor' to make global function 'calculateRoll(dieAmount:dieType:modifier:)' part of global actor 'MainActor'
31 |     var calculatedTotal: Int = 0
32 |     for _ in 1...dieAmount {
33 |         let roll = Int.random(in: 1...dieType)
34 |         calculatedTotal += roll
35 |         rolledDie.append("d\(dieType): \(roll)")
   |         `- error: main actor-isolated var 'rolledDie' can not be mutated from a nonisolated context
36 |     }
37 |     calculatedTotal += modifier
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:66:14: error: main actor-isolated var 'dieAmount' can not be referenced from a nonisolated context
 2 | import Foundation
 3 |
 4 | var dieAmount: Int = 1
   |     `- note: var declared here
 5 | var dieType: Int = 1
 6 | var modifier: Int = 0
   :
57 |     private var detailed: Bool = false
58 |
59 |     func run() throws {
   |          `- note: add '@MainActor' to make instance method 'run()' part of global actor 'MainActor'
60 |         let range = NSRange(location: 0, length: rollArguments.utf16.count)
61 |         let regex = try! NSRegularExpression(pattern: "^[0-9]+d[0-9]+[-+]*[0-9]*")
   :
64 |             return
65 |         } else {
66 |             (dieAmount, dieType, modifier) = (separateArguments(roll: rollArguments))
   |              `- error: main actor-isolated var 'dieAmount' can not be referenced from a nonisolated context
67 |             total = calculateRoll(dieAmount: dieAmount, dieType: dieType, modifier: modifier)
68 |             print("Rolling...")
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:66:25: error: main actor-isolated var 'dieType' can not be referenced from a nonisolated context
 3 |
 4 | var dieAmount: Int = 1
 5 | var dieType: Int = 1
   |     `- note: var declared here
 6 | var modifier: Int = 0
 7 | var total: Int = 0
   :
57 |     private var detailed: Bool = false
58 |
59 |     func run() throws {
   |          `- note: add '@MainActor' to make instance method 'run()' part of global actor 'MainActor'
60 |         let range = NSRange(location: 0, length: rollArguments.utf16.count)
61 |         let regex = try! NSRegularExpression(pattern: "^[0-9]+d[0-9]+[-+]*[0-9]*")
   :
64 |             return
65 |         } else {
66 |             (dieAmount, dieType, modifier) = (separateArguments(roll: rollArguments))
   |                         `- error: main actor-isolated var 'dieType' can not be referenced from a nonisolated context
67 |             total = calculateRoll(dieAmount: dieAmount, dieType: dieType, modifier: modifier)
68 |             print("Rolling...")
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:66:34: error: main actor-isolated var 'modifier' can not be referenced from a nonisolated context
 4 | var dieAmount: Int = 1
 5 | var dieType: Int = 1
 6 | var modifier: Int = 0
   |     `- note: var declared here
 7 | var total: Int = 0
 8 | var rolledDie: [String] = []
   :
57 |     private var detailed: Bool = false
58 |
59 |     func run() throws {
   |          `- note: add '@MainActor' to make instance method 'run()' part of global actor 'MainActor'
60 |         let range = NSRange(location: 0, length: rollArguments.utf16.count)
61 |         let regex = try! NSRegularExpression(pattern: "^[0-9]+d[0-9]+[-+]*[0-9]*")
   :
64 |             return
65 |         } else {
66 |             (dieAmount, dieType, modifier) = (separateArguments(roll: rollArguments))
   |                                  `- error: main actor-isolated var 'modifier' can not be referenced from a nonisolated context
67 |             total = calculateRoll(dieAmount: dieAmount, dieType: dieType, modifier: modifier)
68 |             print("Rolling...")
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:67:13: error: main actor-isolated var 'total' can not be mutated from a nonisolated context
 5 | var dieType: Int = 1
 6 | var modifier: Int = 0
 7 | var total: Int = 0
   |     `- note: mutation of this var is only permitted within the actor
 8 | var rolledDie: [String] = []
 9 |
   :
57 |     private var detailed: Bool = false
58 |
59 |     func run() throws {
   |          `- note: add '@MainActor' to make instance method 'run()' part of global actor 'MainActor'
60 |         let range = NSRange(location: 0, length: rollArguments.utf16.count)
61 |         let regex = try! NSRegularExpression(pattern: "^[0-9]+d[0-9]+[-+]*[0-9]*")
   :
65 |         } else {
66 |             (dieAmount, dieType, modifier) = (separateArguments(roll: rollArguments))
67 |             total = calculateRoll(dieAmount: dieAmount, dieType: dieType, modifier: modifier)
   |             `- error: main actor-isolated var 'total' can not be mutated from a nonisolated context
68 |             print("Rolling...")
69 |             if detailed {
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:67:46: error: main actor-isolated var 'dieAmount' can not be referenced from a nonisolated context
 2 | import Foundation
 3 |
 4 | var dieAmount: Int = 1
   |     `- note: var declared here
 5 | var dieType: Int = 1
 6 | var modifier: Int = 0
   :
57 |     private var detailed: Bool = false
58 |
59 |     func run() throws {
   |          `- note: add '@MainActor' to make instance method 'run()' part of global actor 'MainActor'
60 |         let range = NSRange(location: 0, length: rollArguments.utf16.count)
61 |         let regex = try! NSRegularExpression(pattern: "^[0-9]+d[0-9]+[-+]*[0-9]*")
   :
65 |         } else {
66 |             (dieAmount, dieType, modifier) = (separateArguments(roll: rollArguments))
67 |             total = calculateRoll(dieAmount: dieAmount, dieType: dieType, modifier: modifier)
   |                                              `- error: main actor-isolated var 'dieAmount' can not be referenced from a nonisolated context
68 |             print("Rolling...")
69 |             if detailed {
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:67:66: error: main actor-isolated var 'dieType' can not be referenced from a nonisolated context
 3 |
 4 | var dieAmount: Int = 1
 5 | var dieType: Int = 1
   |     `- note: var declared here
 6 | var modifier: Int = 0
 7 | var total: Int = 0
   :
57 |     private var detailed: Bool = false
58 |
59 |     func run() throws {
   |          `- note: add '@MainActor' to make instance method 'run()' part of global actor 'MainActor'
60 |         let range = NSRange(location: 0, length: rollArguments.utf16.count)
61 |         let regex = try! NSRegularExpression(pattern: "^[0-9]+d[0-9]+[-+]*[0-9]*")
   :
65 |         } else {
66 |             (dieAmount, dieType, modifier) = (separateArguments(roll: rollArguments))
67 |             total = calculateRoll(dieAmount: dieAmount, dieType: dieType, modifier: modifier)
   |                                                                  `- error: main actor-isolated var 'dieType' can not be referenced from a nonisolated context
68 |             print("Rolling...")
69 |             if detailed {
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:67:85: error: main actor-isolated var 'modifier' can not be referenced from a nonisolated context
 4 | var dieAmount: Int = 1
 5 | var dieType: Int = 1
 6 | var modifier: Int = 0
   |     `- note: var declared here
 7 | var total: Int = 0
 8 | var rolledDie: [String] = []
   :
57 |     private var detailed: Bool = false
58 |
59 |     func run() throws {
   |          `- note: add '@MainActor' to make instance method 'run()' part of global actor 'MainActor'
60 |         let range = NSRange(location: 0, length: rollArguments.utf16.count)
61 |         let regex = try! NSRegularExpression(pattern: "^[0-9]+d[0-9]+[-+]*[0-9]*")
   :
65 |         } else {
66 |             (dieAmount, dieType, modifier) = (separateArguments(roll: rollArguments))
67 |             total = calculateRoll(dieAmount: dieAmount, dieType: dieType, modifier: modifier)
   |                                                                                     `- error: main actor-isolated var 'modifier' can not be referenced from a nonisolated context
68 |             print("Rolling...")
69 |             if detailed {
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:70:34: error: main actor-isolated var 'dieType' can not be referenced from a nonisolated context
 3 |
 4 | var dieAmount: Int = 1
 5 | var dieType: Int = 1
   |     `- note: var declared here
 6 | var modifier: Int = 0
 7 | var total: Int = 0
   :
57 |     private var detailed: Bool = false
58 |
59 |     func run() throws {
   |          `- note: add '@MainActor' to make instance method 'run()' part of global actor 'MainActor'
60 |         let range = NSRange(location: 0, length: rollArguments.utf16.count)
61 |         let regex = try! NSRegularExpression(pattern: "^[0-9]+d[0-9]+[-+]*[0-9]*")
   :
68 |             print("Rolling...")
69 |             if detailed {
70 |                 print("Rolled d\(dieType) \(dieAmount) times with modifier of \(modifier)")
   |                                  `- error: main actor-isolated var 'dieType' can not be referenced from a nonisolated context
71 |                 print("Individual rolls \(rolledDie)")
72 |             }
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:70:45: error: main actor-isolated var 'dieAmount' can not be referenced from a nonisolated context
 2 | import Foundation
 3 |
 4 | var dieAmount: Int = 1
   |     `- note: var declared here
 5 | var dieType: Int = 1
 6 | var modifier: Int = 0
   :
57 |     private var detailed: Bool = false
58 |
59 |     func run() throws {
   |          `- note: add '@MainActor' to make instance method 'run()' part of global actor 'MainActor'
60 |         let range = NSRange(location: 0, length: rollArguments.utf16.count)
61 |         let regex = try! NSRegularExpression(pattern: "^[0-9]+d[0-9]+[-+]*[0-9]*")
   :
68 |             print("Rolling...")
69 |             if detailed {
70 |                 print("Rolled d\(dieType) \(dieAmount) times with modifier of \(modifier)")
   |                                             `- error: main actor-isolated var 'dieAmount' can not be referenced from a nonisolated context
71 |                 print("Individual rolls \(rolledDie)")
72 |             }
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:70:81: error: main actor-isolated var 'modifier' can not be referenced from a nonisolated context
 4 | var dieAmount: Int = 1
 5 | var dieType: Int = 1
 6 | var modifier: Int = 0
   |     `- note: var declared here
 7 | var total: Int = 0
 8 | var rolledDie: [String] = []
   :
57 |     private var detailed: Bool = false
58 |
59 |     func run() throws {
   |          `- note: add '@MainActor' to make instance method 'run()' part of global actor 'MainActor'
60 |         let range = NSRange(location: 0, length: rollArguments.utf16.count)
61 |         let regex = try! NSRegularExpression(pattern: "^[0-9]+d[0-9]+[-+]*[0-9]*")
   :
68 |             print("Rolling...")
69 |             if detailed {
70 |                 print("Rolled d\(dieType) \(dieAmount) times with modifier of \(modifier)")
   |                                                                                 `- error: main actor-isolated var 'modifier' can not be referenced from a nonisolated context
71 |                 print("Individual rolls \(rolledDie)")
72 |             }
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:71:43: error: main actor-isolated var 'rolledDie' can not be referenced from a nonisolated context
 6 | var modifier: Int = 0
 7 | var total: Int = 0
 8 | var rolledDie: [String] = []
   |     `- note: var declared here
 9 |
10 | func separateArguments(roll: String) -> (Int, Int, Int) {
   :
57 |     private var detailed: Bool = false
58 |
59 |     func run() throws {
   |          `- note: add '@MainActor' to make instance method 'run()' part of global actor 'MainActor'
60 |         let range = NSRange(location: 0, length: rollArguments.utf16.count)
61 |         let regex = try! NSRegularExpression(pattern: "^[0-9]+d[0-9]+[-+]*[0-9]*")
   :
69 |             if detailed {
70 |                 print("Rolled d\(dieType) \(dieAmount) times with modifier of \(modifier)")
71 |                 print("Individual rolls \(rolledDie)")
   |                                           `- error: main actor-isolated var 'rolledDie' can not be referenced from a nonisolated context
72 |             }
73 |             print("Amount rolled: \(total)")
/Users/admin/builder/spi-builder-workspace/Sources/diceroller/main.swift:73:37: error: main actor-isolated var 'total' can not be referenced from a nonisolated context
 5 | var dieType: Int = 1
 6 | var modifier: Int = 0
 7 | var total: Int = 0
   |     `- note: var declared here
 8 | var rolledDie: [String] = []
 9 |
   :
57 |     private var detailed: Bool = false
58 |
59 |     func run() throws {
   |          `- note: add '@MainActor' to make instance method 'run()' part of global actor 'MainActor'
60 |         let range = NSRange(location: 0, length: rollArguments.utf16.count)
61 |         let regex = try! NSRegularExpression(pattern: "^[0-9]+d[0-9]+[-+]*[0-9]*")
   :
71 |                 print("Individual rolls \(rolledDie)")
72 |             }
73 |             print("Amount rolled: \(total)")
   |                                     `- error: main actor-isolated var 'total' can not be referenced from a nonisolated context
74 |         }
75 |     }
BUILD FAILURE 6.0 macosSpm