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 Expression, reference main (95ffe4), with Swift 6.0 for Linux on 5 Nov 2024 11:32:30 UTC.

Swift 6 data race errors: 11

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/nicklockwood/Expression.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/nicklockwood/Expression
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 95ffe4c Update for 0.13.9 release
Cloned https://github.com/nicklockwood/Expression.git
Revision (git rev-parse @):
95ffe4c352e456cede933d9910d25b9c84039d1b
SUCCESS checkout https://github.com/nicklockwood/Expression.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/nicklockwood/Expression.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/5] Compiling Expression AnyExpression.swift
/host/spi-builder-workspace/Sources/Expression.swift:227:27: warning: static property 'boolSymbols' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
 220 |
 221 |     /// Options for configuring an expression
 222 |     public struct Options: OptionSet {
     |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
 223 |         /// Disable optimizations such as constant substitution
 224 |         public static let noOptimize = Options(rawValue: 1 << 1)
 225 |
 226 |         /// Enable standard boolean operators and constants
 227 |         public static let boolSymbols = Options(rawValue: 1 << 2)
     |                           |- warning: static property 'boolSymbols' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
     |                           |- note: annotate 'boolSymbols' 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
 228 |
 229 |         /// Assume all functions and operators in `symbols` are "pure", i.e.
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/AnyExpression.swift:829:16: warning: static property 'standardSymbols' is not concurrency-safe because non-'Sendable' type '[AnyExpression.Symbol : Expression.SymbolEvaluator]' (aka 'Dictionary<Expression.Symbol, (Array<Double>) throws -> Double>') may have shared mutable state; this is an error in the Swift 6 language mode
 827 |
 828 |     // Standard symbols
 829 |     static let standardSymbols: [Symbol: Expression.SymbolEvaluator] = [
     |                |- warning: static property 'standardSymbols' is not concurrency-safe because non-'Sendable' type '[AnyExpression.Symbol : Expression.SymbolEvaluator]' (aka 'Dictionary<Expression.Symbol, (Array<Double>) throws -> Double>') may have shared mutable state; this is an error in the Swift 6 language mode
     |                |- note: annotate 'standardSymbols' 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
 830 |         // Math symbols
 831 |         .variable("pi"): { _ in .pi },
/host/spi-builder-workspace/Sources/Expression.swift:97:17: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
  95 |
  96 |     /// Symbols that make up an expression
  97 |     public enum Symbol: CustomStringConvertible, Hashable {
     |                 `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
  98 |         /// A named variable
  99 |         case variable(String)
/host/spi-builder-workspace/Sources/Expression.swift:232:27: warning: static property 'pureSymbols' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
 220 |
 221 |     /// Options for configuring an expression
 222 |     public struct Options: OptionSet {
     |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
 223 |         /// Disable optimizations such as constant substitution
 224 |         public static let noOptimize = Options(rawValue: 1 << 1)
     :
 230 |         /// they have no side effects, and always produce the same output
 231 |         /// for a given set of arguments
 232 |         public static let pureSymbols = Options(rawValue: 1 << 3)
     |                           |- warning: static property 'pureSymbols' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
     |                           |- note: annotate 'pureSymbols' 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
 233 |
 234 |         /// Packed bitfield of options
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/Expression.swift:523:23: warning: static property 'boolSymbols' is not concurrency-safe because non-'Sendable' type '[Expression.Symbol : Expression.SymbolEvaluator]' (aka 'Dictionary<Expression.Symbol, (Array<Double>) throws -> Double>') may have shared mutable state; this is an error in the Swift 6 language mode
  95 |
  96 |     /// Symbols that make up an expression
  97 |     public enum Symbol: CustomStringConvertible, Hashable {
     |                 `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
  98 |         /// A named variable
  99 |         case variable(String)
     :
 521 |
 522 |     /// Standard boolean symbols
 523 |     public static let boolSymbols: [Symbol: SymbolEvaluator] = {
     |                       |- warning: static property 'boolSymbols' is not concurrency-safe because non-'Sendable' type '[Expression.Symbol : Expression.SymbolEvaluator]' (aka 'Dictionary<Expression.Symbol, (Array<Double>) throws -> Double>') may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'boolSymbols' 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
 524 |         var symbols: [Symbol: SymbolEvaluator] = [:]
 525 |
/host/spi-builder-workspace/Sources/Expression.swift:224:27: warning: static property 'noOptimize' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
 220 |
 221 |     /// Options for configuring an expression
 222 |     public struct Options: OptionSet {
     |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
 223 |         /// Disable optimizations such as constant substitution
 224 |         public static let noOptimize = Options(rawValue: 1 << 1)
     |                           |- warning: static property 'noOptimize' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
     |                           |- note: annotate 'noOptimize' 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
 225 |
 226 |         /// Enable standard boolean operators and constants
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/Expression.swift:480:23: warning: static property 'mathSymbols' is not concurrency-safe because non-'Sendable' type '[Expression.Symbol : Expression.SymbolEvaluator]' (aka 'Dictionary<Expression.Symbol, (Array<Double>) throws -> Double>') may have shared mutable state; this is an error in the Swift 6 language mode
  95 |
  96 |     /// Symbols that make up an expression
  97 |     public enum Symbol: CustomStringConvertible, Hashable {
     |                 `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
  98 |         /// A named variable
  99 |         case variable(String)
     :
 478 |
 479 |     /// Standard math symbols
 480 |     public static let mathSymbols: [Symbol: SymbolEvaluator] = {
     |                       |- warning: static property 'mathSymbols' is not concurrency-safe because non-'Sendable' type '[Expression.Symbol : Expression.SymbolEvaluator]' (aka 'Dictionary<Expression.Symbol, (Array<Double>) throws -> Double>') may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'mathSymbols' 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
 481 |         var symbols: [Symbol: SymbolEvaluator] = [:]
 482 |
[4/5] Compiling Expression Expression.swift
/host/spi-builder-workspace/Sources/Expression.swift:59:27: warning: static property 'any' is not concurrency-safe because non-'Sendable' type 'Expression.Arity' may have shared mutable state; this is an error in the Swift 6 language mode
  49 |
  50 |     /// Type representing the arity (number of arguments) accepted by a function
  51 |     public enum Arity: ExpressibleByIntegerLiteral, CustomStringConvertible, Hashable {
     |                 `- note: consider making enum 'Arity' conform to the 'Sendable' protocol
  52 |         /// An exact number of arguments
  53 |         case exactly(Int)
     :
  57 |
  58 |         /// Any number of arguments
  59 |         public static let any = atLeast(0)
     |                           |- warning: static property 'any' is not concurrency-safe because non-'Sendable' type 'Expression.Arity' may have shared mutable state; this is an error in the Swift 6 language mode
     |                           |- note: annotate 'any' 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
  60 |
  61 |         /// ExpressibleByIntegerLiteral constructor
/host/spi-builder-workspace/Sources/Expression.swift:171:14: warning: associated value 'undefinedSymbol' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Expression.Symbol'; this is an error in the Swift 6 language mode
  95 |
  96 |     /// Symbols that make up an expression
  97 |     public enum Symbol: CustomStringConvertible, Hashable {
     |                 `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
  98 |         /// A named variable
  99 |         case variable(String)
     :
 169 |
 170 |         /// The specified constant, operator or function was not recognized
 171 |         case undefinedSymbol(Symbol)
     |              `- warning: associated value 'undefinedSymbol' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Expression.Symbol'; this is an error in the Swift 6 language mode
 172 |
 173 |         /// A function was called with the wrong number of arguments (arity)
/host/spi-builder-workspace/Sources/Expression.swift:174:14: warning: associated value 'arityMismatch' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Expression.Symbol'; this is an error in the Swift 6 language mode
  95 |
  96 |     /// Symbols that make up an expression
  97 |     public enum Symbol: CustomStringConvertible, Hashable {
     |                 `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
  98 |         /// A named variable
  99 |         case variable(String)
     :
 172 |
 173 |         /// A function was called with the wrong number of arguments (arity)
 174 |         case arityMismatch(Symbol)
     |              `- warning: associated value 'arityMismatch' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Expression.Symbol'; this is an error in the Swift 6 language mode
 175 |
 176 |         /// An array was accessed with an index outside the valid range
/host/spi-builder-workspace/Sources/Expression.swift:177:14: warning: associated value 'arrayBounds' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Expression.Symbol'; this is an error in the Swift 6 language mode
  95 |
  96 |     /// Symbols that make up an expression
  97 |     public enum Symbol: CustomStringConvertible, Hashable {
     |                 `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
  98 |         /// A named variable
  99 |         case variable(String)
     :
 175 |
 176 |         /// An array was accessed with an index outside the valid range
 177 |         case arrayBounds(Symbol, Double)
     |              `- warning: associated value 'arrayBounds' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Expression.Symbol'; this is an error in the Swift 6 language mode
 178 |
 179 |         /// Empty expression
/host/spi-builder-workspace/Sources/Expression.swift:224:27: warning: static property 'noOptimize' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
 220 |
 221 |     /// Options for configuring an expression
 222 |     public struct Options: OptionSet {
     |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
 223 |         /// Disable optimizations such as constant substitution
 224 |         public static let noOptimize = Options(rawValue: 1 << 1)
     |                           |- warning: static property 'noOptimize' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
     |                           |- note: annotate 'noOptimize' 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
 225 |
 226 |         /// Enable standard boolean operators and constants
/host/spi-builder-workspace/Sources/Expression.swift:227:27: warning: static property 'boolSymbols' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
 220 |
 221 |     /// Options for configuring an expression
 222 |     public struct Options: OptionSet {
     |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
 223 |         /// Disable optimizations such as constant substitution
 224 |         public static let noOptimize = Options(rawValue: 1 << 1)
 225 |
 226 |         /// Enable standard boolean operators and constants
 227 |         public static let boolSymbols = Options(rawValue: 1 << 2)
     |                           |- warning: static property 'boolSymbols' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
     |                           |- note: annotate 'boolSymbols' 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
 228 |
 229 |         /// Assume all functions and operators in `symbols` are "pure", i.e.
/host/spi-builder-workspace/Sources/Expression.swift:232:27: warning: static property 'pureSymbols' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
 220 |
 221 |     /// Options for configuring an expression
 222 |     public struct Options: OptionSet {
     |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
 223 |         /// Disable optimizations such as constant substitution
 224 |         public static let noOptimize = Options(rawValue: 1 << 1)
     :
 230 |         /// they have no side effects, and always produce the same output
 231 |         /// for a given set of arguments
 232 |         public static let pureSymbols = Options(rawValue: 1 << 3)
     |                           |- warning: static property 'pureSymbols' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
     |                           |- note: annotate 'pureSymbols' 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
 233 |
 234 |         /// Packed bitfield of options
/host/spi-builder-workspace/Sources/Expression.swift:401:24: warning: static property 'cache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 399 |     }
 400 |
 401 |     private static var cache = [String: Subexpression]()
     |                        |- warning: static property 'cache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                        |- note: convert 'cache' to a 'let' constant to make 'Sendable' shared state immutable
     |                        |- note: annotate 'cache' 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
 402 |     private static let queue = DispatchQueue(label: "com.Expression")
 403 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/Expression.swift:480:23: warning: static property 'mathSymbols' is not concurrency-safe because non-'Sendable' type '[Expression.Symbol : Expression.SymbolEvaluator]' (aka 'Dictionary<Expression.Symbol, (Array<Double>) throws -> Double>') may have shared mutable state; this is an error in the Swift 6 language mode
  95 |
  96 |     /// Symbols that make up an expression
  97 |     public enum Symbol: CustomStringConvertible, Hashable {
     |                 `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
  98 |         /// A named variable
  99 |         case variable(String)
     :
 478 |
 479 |     /// Standard math symbols
 480 |     public static let mathSymbols: [Symbol: SymbolEvaluator] = {
     |                       |- warning: static property 'mathSymbols' is not concurrency-safe because non-'Sendable' type '[Expression.Symbol : Expression.SymbolEvaluator]' (aka 'Dictionary<Expression.Symbol, (Array<Double>) throws -> Double>') may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'mathSymbols' 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
 481 |         var symbols: [Symbol: SymbolEvaluator] = [:]
 482 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/Expression.swift:523:23: warning: static property 'boolSymbols' is not concurrency-safe because non-'Sendable' type '[Expression.Symbol : Expression.SymbolEvaluator]' (aka 'Dictionary<Expression.Symbol, (Array<Double>) throws -> Double>') may have shared mutable state; this is an error in the Swift 6 language mode
  95 |
  96 |     /// Symbols that make up an expression
  97 |     public enum Symbol: CustomStringConvertible, Hashable {
     |                 `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
  98 |         /// A named variable
  99 |         case variable(String)
     :
 521 |
 522 |     /// Standard boolean symbols
 523 |     public static let boolSymbols: [Symbol: SymbolEvaluator] = {
     |                       |- warning: static property 'boolSymbols' is not concurrency-safe because non-'Sendable' type '[Expression.Symbol : Expression.SymbolEvaluator]' (aka 'Dictionary<Expression.Symbol, (Array<Double>) throws -> Double>') may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'boolSymbols' 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
 524 |         var symbols: [Symbol: SymbolEvaluator] = [:]
 525 |
[5/5] Emitting module Expression
/host/spi-builder-workspace/Sources/Expression.swift:227:27: warning: static property 'boolSymbols' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
 220 |
 221 |     /// Options for configuring an expression
 222 |     public struct Options: OptionSet {
     |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
 223 |         /// Disable optimizations such as constant substitution
 224 |         public static let noOptimize = Options(rawValue: 1 << 1)
 225 |
 226 |         /// Enable standard boolean operators and constants
 227 |         public static let boolSymbols = Options(rawValue: 1 << 2)
     |                           |- warning: static property 'boolSymbols' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
     |                           |- note: annotate 'boolSymbols' 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
 228 |
 229 |         /// Assume all functions and operators in `symbols` are "pure", i.e.
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/AnyExpression.swift:829:16: warning: static property 'standardSymbols' is not concurrency-safe because non-'Sendable' type '[AnyExpression.Symbol : Expression.SymbolEvaluator]' (aka 'Dictionary<Expression.Symbol, (Array<Double>) throws -> Double>') may have shared mutable state; this is an error in the Swift 6 language mode
 827 |
 828 |     // Standard symbols
 829 |     static let standardSymbols: [Symbol: Expression.SymbolEvaluator] = [
     |                |- warning: static property 'standardSymbols' is not concurrency-safe because non-'Sendable' type '[AnyExpression.Symbol : Expression.SymbolEvaluator]' (aka 'Dictionary<Expression.Symbol, (Array<Double>) throws -> Double>') may have shared mutable state; this is an error in the Swift 6 language mode
     |                |- note: annotate 'standardSymbols' 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
 830 |         // Math symbols
 831 |         .variable("pi"): { _ in .pi },
/host/spi-builder-workspace/Sources/Expression.swift:97:17: note: consider making enum 'Symbol' conform to the 'Sendable' protocol
  95 |
  96 |     /// Symbols that make up an expression
  97 |     public enum Symbol: CustomStringConvertible, Hashable {
     |                 `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
  98 |         /// A named variable
  99 |         case variable(String)
/host/spi-builder-workspace/Sources/Expression.swift:59:27: warning: static property 'any' is not concurrency-safe because non-'Sendable' type 'Expression.Arity' may have shared mutable state; this is an error in the Swift 6 language mode
  49 |
  50 |     /// Type representing the arity (number of arguments) accepted by a function
  51 |     public enum Arity: ExpressibleByIntegerLiteral, CustomStringConvertible, Hashable {
     |                 `- note: consider making enum 'Arity' conform to the 'Sendable' protocol
  52 |         /// An exact number of arguments
  53 |         case exactly(Int)
     :
  57 |
  58 |         /// Any number of arguments
  59 |         public static let any = atLeast(0)
     |                           |- warning: static property 'any' is not concurrency-safe because non-'Sendable' type 'Expression.Arity' may have shared mutable state; this is an error in the Swift 6 language mode
     |                           |- note: annotate 'any' 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
  60 |
  61 |         /// ExpressibleByIntegerLiteral constructor
/host/spi-builder-workspace/Sources/Expression.swift:171:14: warning: associated value 'undefinedSymbol' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Expression.Symbol'; this is an error in the Swift 6 language mode
  95 |
  96 |     /// Symbols that make up an expression
  97 |     public enum Symbol: CustomStringConvertible, Hashable {
     |                 `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
  98 |         /// A named variable
  99 |         case variable(String)
     :
 169 |
 170 |         /// The specified constant, operator or function was not recognized
 171 |         case undefinedSymbol(Symbol)
     |              `- warning: associated value 'undefinedSymbol' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Expression.Symbol'; this is an error in the Swift 6 language mode
 172 |
 173 |         /// A function was called with the wrong number of arguments (arity)
/host/spi-builder-workspace/Sources/Expression.swift:174:14: warning: associated value 'arityMismatch' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Expression.Symbol'; this is an error in the Swift 6 language mode
  95 |
  96 |     /// Symbols that make up an expression
  97 |     public enum Symbol: CustomStringConvertible, Hashable {
     |                 `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
  98 |         /// A named variable
  99 |         case variable(String)
     :
 172 |
 173 |         /// A function was called with the wrong number of arguments (arity)
 174 |         case arityMismatch(Symbol)
     |              `- warning: associated value 'arityMismatch' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Expression.Symbol'; this is an error in the Swift 6 language mode
 175 |
 176 |         /// An array was accessed with an index outside the valid range
/host/spi-builder-workspace/Sources/Expression.swift:177:14: warning: associated value 'arrayBounds' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Expression.Symbol'; this is an error in the Swift 6 language mode
  95 |
  96 |     /// Symbols that make up an expression
  97 |     public enum Symbol: CustomStringConvertible, Hashable {
     |                 `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
  98 |         /// A named variable
  99 |         case variable(String)
     :
 175 |
 176 |         /// An array was accessed with an index outside the valid range
 177 |         case arrayBounds(Symbol, Double)
     |              `- warning: associated value 'arrayBounds' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Expression.Symbol'; this is an error in the Swift 6 language mode
 178 |
 179 |         /// Empty expression
/host/spi-builder-workspace/Sources/Expression.swift:224:27: warning: static property 'noOptimize' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
 220 |
 221 |     /// Options for configuring an expression
 222 |     public struct Options: OptionSet {
     |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
 223 |         /// Disable optimizations such as constant substitution
 224 |         public static let noOptimize = Options(rawValue: 1 << 1)
     |                           |- warning: static property 'noOptimize' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
     |                           |- note: annotate 'noOptimize' 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
 225 |
 226 |         /// Enable standard boolean operators and constants
/host/spi-builder-workspace/Sources/Expression.swift:232:27: warning: static property 'pureSymbols' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
 220 |
 221 |     /// Options for configuring an expression
 222 |     public struct Options: OptionSet {
     |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
 223 |         /// Disable optimizations such as constant substitution
 224 |         public static let noOptimize = Options(rawValue: 1 << 1)
     :
 230 |         /// they have no side effects, and always produce the same output
 231 |         /// for a given set of arguments
 232 |         public static let pureSymbols = Options(rawValue: 1 << 3)
     |                           |- warning: static property 'pureSymbols' is not concurrency-safe because non-'Sendable' type 'Expression.Options' may have shared mutable state; this is an error in the Swift 6 language mode
     |                           |- note: annotate 'pureSymbols' 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
 233 |
 234 |         /// Packed bitfield of options
/host/spi-builder-workspace/Sources/Expression.swift:401:24: warning: static property 'cache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 399 |     }
 400 |
 401 |     private static var cache = [String: Subexpression]()
     |                        |- warning: static property 'cache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                        |- note: convert 'cache' to a 'let' constant to make 'Sendable' shared state immutable
     |                        |- note: annotate 'cache' 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
 402 |     private static let queue = DispatchQueue(label: "com.Expression")
 403 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/Expression.swift:480:23: warning: static property 'mathSymbols' is not concurrency-safe because non-'Sendable' type '[Expression.Symbol : Expression.SymbolEvaluator]' (aka 'Dictionary<Expression.Symbol, (Array<Double>) throws -> Double>') may have shared mutable state; this is an error in the Swift 6 language mode
  95 |
  96 |     /// Symbols that make up an expression
  97 |     public enum Symbol: CustomStringConvertible, Hashable {
     |                 `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
  98 |         /// A named variable
  99 |         case variable(String)
     :
 478 |
 479 |     /// Standard math symbols
 480 |     public static let mathSymbols: [Symbol: SymbolEvaluator] = {
     |                       |- warning: static property 'mathSymbols' is not concurrency-safe because non-'Sendable' type '[Expression.Symbol : Expression.SymbolEvaluator]' (aka 'Dictionary<Expression.Symbol, (Array<Double>) throws -> Double>') may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'mathSymbols' 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
 481 |         var symbols: [Symbol: SymbolEvaluator] = [:]
 482 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/Expression.swift:523:23: warning: static property 'boolSymbols' is not concurrency-safe because non-'Sendable' type '[Expression.Symbol : Expression.SymbolEvaluator]' (aka 'Dictionary<Expression.Symbol, (Array<Double>) throws -> Double>') may have shared mutable state; this is an error in the Swift 6 language mode
  95 |
  96 |     /// Symbols that make up an expression
  97 |     public enum Symbol: CustomStringConvertible, Hashable {
     |                 `- note: consider making enum 'Symbol' conform to the 'Sendable' protocol
  98 |         /// A named variable
  99 |         case variable(String)
     :
 521 |
 522 |     /// Standard boolean symbols
 523 |     public static let boolSymbols: [Symbol: SymbolEvaluator] = {
     |                       |- warning: static property 'boolSymbols' is not concurrency-safe because non-'Sendable' type '[Expression.Symbol : Expression.SymbolEvaluator]' (aka 'Dictionary<Expression.Symbol, (Array<Double>) throws -> Double>') may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'boolSymbols' 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
 524 |         var symbols: [Symbol: SymbolEvaluator] = [:]
 525 |
Build complete! (10.04s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Expression",
  "name" : "Expression",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Expression",
      "targets" : [
        "Expression"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ExpressionTests",
      "module_type" : "SwiftTarget",
      "name" : "ExpressionTests",
      "path" : "Tests",
      "sources" : [
        "AnyExpressionTests.swift",
        "ExpressionTests.swift",
        "MetadataTests.swift"
      ],
      "target_dependencies" : [
        "Expression"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Expression",
      "module_type" : "SwiftTarget",
      "name" : "Expression",
      "path" : "Sources",
      "product_memberships" : [
        "Expression"
      ],
      "sources" : [
        "AnyExpression.swift",
        "Expression.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.2"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.