Build Information
Successful build of GraphViz, reference main (083bcc
), with Swift 6.1 for macOS (SPM) on 29 Apr 2025 13:14:13 UTC.
Swift 6 data race errors: 2
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/tuist/GraphViz.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/tuist/GraphViz
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 083bccf Updates to work with Xcode 16
Cloned https://github.com/tuist/GraphViz.git
Revision (git rev-parse @):
083bccf9e492fd5731dd288a46741ea80148f508
SUCCESS checkout https://github.com/tuist/GraphViz.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/tuist/GraphViz.git
https://github.com/tuist/GraphViz.git
{
"dependencies" : [
],
"manifest_display_name" : "GraphViz",
"name" : "GraphViz",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "GraphViz",
"targets" : [
"GraphViz"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "GraphVizTests",
"module_type" : "SwiftTarget",
"name" : "GraphVizTests",
"path" : "Tests/GraphVizTests",
"sources" : [
"AttributesTest.swift",
"EdgeTests.swift",
"GraphBuilderTests.swift",
"GraphTests.swift",
"NodeTests.swift",
"RenderingTests.swift",
"SubgraphBuilderTests.swift",
"SubgraphTests.swift"
],
"target_dependencies" : [
"GraphViz"
],
"type" : "test"
},
{
"c99name" : "GraphViz",
"module_type" : "SwiftTarget",
"name" : "GraphViz",
"path" : "Sources/GraphViz",
"product_memberships" : [
"GraphViz"
],
"sources" : [
"Builder/Extensions/Edge+Extensions.swift",
"Builder/Extensions/Graph+Extensions.swift",
"Builder/Extensions/Node+Extensions.swift",
"Builder/Extensions/Subgraph+Extensions.swift",
"Builder/GraphBuilder.swift",
"Builder/Operators/BackwardEdgeOperator.swift",
"Builder/Operators/BidirectionalEdgeOperator.swift",
"Builder/Operators/ForwardEdgeOperator.swift",
"Builder/Operators/UndirectedEdgeOperator.swift",
"Builder/SubgraphBuilder.swift",
"Core/Attribute.swift",
"Core/Edge.swift",
"Core/Extensions/KeyValuePairs+Extensions.swift",
"Core/Graph.swift",
"Core/Node.swift",
"Core/Rendering/Format.swift",
"Core/Rendering/LayoutAlgorithm.swift",
"Core/Subgraph.swift",
"Core/Supporting Types/AspectRatio.swift",
"Core/Supporting Types/Color.swift",
"Core/Supporting Types/Location.swift",
"Core/Supporting Types/Ordering.swift",
"Core/Supporting Types/Point.swift",
"Core/Supporting Types/Position.swift",
"Core/Supporting Types/Rectangle.swift",
"Core/Supporting Types/Size.swift",
"DOT/DOT.swift",
"DOT/DOTEncoder.swift",
"DOT/DOTRepresentable.swift",
"Tools/Error.swift",
"Tools/Extensions/Graph+Rendering.swift",
"Tools/Renderer.swift"
],
"target_dependencies" : [
"Clibgraphviz"
],
"type" : "library"
},
{
"c99name" : "Clibgraphviz",
"module_type" : "SystemLibraryTarget",
"name" : "Clibgraphviz",
"path" : "Sources/Clibgraphviz",
"product_memberships" : [
"GraphViz"
],
"sources" : [
],
"type" : "system-target"
}
],
"tools_version" : "5.2"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/32] Compiling GraphViz GraphBuilder.swift
[4/32] Compiling GraphViz BackwardEdgeOperator.swift
[5/32] Compiling GraphViz BidirectionalEdgeOperator.swift
[6/32] Compiling GraphViz ForwardEdgeOperator.swift
[7/35] Compiling GraphViz Edge+Extensions.swift
[8/35] Compiling GraphViz Graph+Extensions.swift
[9/35] Compiling GraphViz Node+Extensions.swift
[10/35] Compiling GraphViz Subgraph+Extensions.swift
[11/35] Emitting module GraphViz
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Extensions/KeyValuePairs+Extensions.swift:1:1: warning: extension declares a conformance of imported type 'KeyValuePairs' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
1 | extension KeyValuePairs: Equatable where Key: Equatable, Value: Equatable {
| |- warning: extension declares a conformance of imported type 'KeyValuePairs' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
2 | public static func == (lhs: KeyValuePairs<Key, Value>, rhs: KeyValuePairs<Key, Value>) -> Bool {
3 | guard lhs.count == rhs.count else { return false }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Extensions/KeyValuePairs+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'KeyValuePairs' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
10 | }
11 |
12 | extension KeyValuePairs: Hashable where Key: Hashable, Value: Hashable {
| |- warning: extension declares a conformance of imported type 'KeyValuePairs' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
13 | public func hash(into hasher: inout Hasher) {
14 | for (key, value) in self {
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/DOT/DOTEncoder.swift:23:24: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DOTEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
3 | /// For more information about the DOT language,
4 | /// see <https://www.graphviz.org/doc/info/lang.html>.
5 | public struct DOTEncoder {
| `- note: consider making struct 'DOTEncoder' conform to the 'Sendable' protocol
6 | public enum Delimiter: String {
7 | case comma = ","
:
21 | public var omitEmptyNodes: Bool = true
22 |
23 | private static let shared = DOTEncoder()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DOTEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 |
25 | /// Creates a new DOT encoder.
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:30:20: warning: static property 'removeEdgesImpliedByTransitivity' is not concurrency-safe because non-'Sendable' type 'Renderer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public class Renderer {
12 | /// Rendering options.
13 | public struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
14 | public let rawValue: Int
15 |
:
28 | Undirected graphs are silently ignored.
29 | */
30 | static let removeEdgesImpliedByTransitivity = Options(rawValue: 1 << 0)
| |- warning: static property 'removeEdgesImpliedByTransitivity' is not concurrency-safe because non-'Sendable' type 'Renderer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'removeEdgesImpliedByTransitivity' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 | }
32 |
[12/35] Compiling GraphViz Error.swift
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:30:20: warning: static property 'removeEdgesImpliedByTransitivity' is not concurrency-safe because non-'Sendable' type 'Renderer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public class Renderer {
12 | /// Rendering options.
13 | public struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
14 | public let rawValue: Int
15 |
:
28 | Undirected graphs are silently ignored.
29 | */
30 | static let removeEdgesImpliedByTransitivity = Options(rawValue: 1 << 0)
| |- warning: static property 'removeEdgesImpliedByTransitivity' is not concurrency-safe because non-'Sendable' type 'Renderer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'removeEdgesImpliedByTransitivity' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 | }
32 |
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:93:20: warning: capture of 'options' with non-sendable type 'Renderer.Options' in a '@Sendable' closure
11 | public class Renderer {
12 | /// Rendering options.
13 | public struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
14 | public let rawValue: Int
15 |
:
91 | }
92 |
93 | if options.contains(.removeEdgesImpliedByTransitivity) {
| `- warning: capture of 'options' with non-sendable type 'Renderer.Options' in a '@Sendable' closure
94 | try attempt { gvToolTred(graph) }
95 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:97:21: warning: capture of 'layout' with non-sendable type 'LayoutAlgorithm' in a '@Sendable' closure
95 | }
96 |
97 | try layout.rawValue.withCString { cString in
| `- warning: capture of 'layout' with non-sendable type 'LayoutAlgorithm' in a '@Sendable' closure
98 | try attempt { gvLayout(context, graph, cString) }
99 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Rendering/LayoutAlgorithm.swift:1:13: note: consider making enum 'LayoutAlgorithm' conform to the 'Sendable' protocol
1 | public enum LayoutAlgorithm: String {
| `- note: consider making enum 'LayoutAlgorithm' conform to the 'Sendable' protocol
2 | /// dot draws directed graphs. It works well on DAGs and other graphs that can be drawn as hierarchies.
3 | case dot
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:104:21: warning: capture of 'format' with non-sendable type 'Format' in a '@Sendable' closure
102 | var data: UnsafeMutablePointer<Int8>?
103 | var length: UInt32 = 0
104 | try format.rawValue.withCString { cString in
| `- warning: capture of 'format' with non-sendable type 'Format' in a '@Sendable' closure
105 | try attempt { gvRenderData(context, graph, cString, &data, &length) }
106 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Rendering/Format.swift:1:13: note: consider making enum 'Format' conform to the 'Sendable' protocol
1 | public enum Format: String, Hashable {
| `- note: consider making enum 'Format' conform to the 'Sendable' protocol
2 | /// Windows Bitmap Format
3 | case bmp
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:113:13: warning: capture of 'completion' with non-sendable type '(Result<Data, any Error>) -> Void' in a '@Sendable' closure
111 | }
112 |
113 | completion(result)
| |- warning: capture of 'completion' with non-sendable type '(Result<Data, any Error>) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
114 | }
115 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:93:20: warning: capture of 'options' with non-sendable type 'Renderer.Options' in an isolated closure; this is an error in the Swift 6 language mode
11 | public class Renderer {
12 | /// Rendering options.
13 | public struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
14 | public let rawValue: Int
15 |
:
91 | }
92 |
93 | if options.contains(.removeEdgesImpliedByTransitivity) {
| `- warning: capture of 'options' with non-sendable type 'Renderer.Options' in an isolated closure; this is an error in the Swift 6 language mode
94 | try attempt { gvToolTred(graph) }
95 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:97:21: warning: capture of 'layout' with non-sendable type 'LayoutAlgorithm' in an isolated closure; this is an error in the Swift 6 language mode
95 | }
96 |
97 | try layout.rawValue.withCString { cString in
| `- warning: capture of 'layout' with non-sendable type 'LayoutAlgorithm' in an isolated closure; this is an error in the Swift 6 language mode
98 | try attempt { gvLayout(context, graph, cString) }
99 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Rendering/LayoutAlgorithm.swift:1:13: note: consider making enum 'LayoutAlgorithm' conform to the 'Sendable' protocol
1 | public enum LayoutAlgorithm: String {
| `- note: consider making enum 'LayoutAlgorithm' conform to the 'Sendable' protocol
2 | /// dot draws directed graphs. It works well on DAGs and other graphs that can be drawn as hierarchies.
3 | case dot
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:104:21: warning: capture of 'format' with non-sendable type 'Format' in an isolated closure; this is an error in the Swift 6 language mode
102 | var data: UnsafeMutablePointer<Int8>?
103 | var length: UInt32 = 0
104 | try format.rawValue.withCString { cString in
| `- warning: capture of 'format' with non-sendable type 'Format' in an isolated closure; this is an error in the Swift 6 language mode
105 | try attempt { gvRenderData(context, graph, cString, &data, &length) }
106 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Rendering/Format.swift:1:13: note: consider making enum 'Format' conform to the 'Sendable' protocol
1 | public enum Format: String, Hashable {
| `- note: consider making enum 'Format' conform to the 'Sendable' protocol
2 | /// Windows Bitmap Format
3 | case bmp
[13/35] Compiling GraphViz Graph+Rendering.swift
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:30:20: warning: static property 'removeEdgesImpliedByTransitivity' is not concurrency-safe because non-'Sendable' type 'Renderer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public class Renderer {
12 | /// Rendering options.
13 | public struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
14 | public let rawValue: Int
15 |
:
28 | Undirected graphs are silently ignored.
29 | */
30 | static let removeEdgesImpliedByTransitivity = Options(rawValue: 1 << 0)
| |- warning: static property 'removeEdgesImpliedByTransitivity' is not concurrency-safe because non-'Sendable' type 'Renderer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'removeEdgesImpliedByTransitivity' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 | }
32 |
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:93:20: warning: capture of 'options' with non-sendable type 'Renderer.Options' in a '@Sendable' closure
11 | public class Renderer {
12 | /// Rendering options.
13 | public struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
14 | public let rawValue: Int
15 |
:
91 | }
92 |
93 | if options.contains(.removeEdgesImpliedByTransitivity) {
| `- warning: capture of 'options' with non-sendable type 'Renderer.Options' in a '@Sendable' closure
94 | try attempt { gvToolTred(graph) }
95 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:97:21: warning: capture of 'layout' with non-sendable type 'LayoutAlgorithm' in a '@Sendable' closure
95 | }
96 |
97 | try layout.rawValue.withCString { cString in
| `- warning: capture of 'layout' with non-sendable type 'LayoutAlgorithm' in a '@Sendable' closure
98 | try attempt { gvLayout(context, graph, cString) }
99 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Rendering/LayoutAlgorithm.swift:1:13: note: consider making enum 'LayoutAlgorithm' conform to the 'Sendable' protocol
1 | public enum LayoutAlgorithm: String {
| `- note: consider making enum 'LayoutAlgorithm' conform to the 'Sendable' protocol
2 | /// dot draws directed graphs. It works well on DAGs and other graphs that can be drawn as hierarchies.
3 | case dot
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:104:21: warning: capture of 'format' with non-sendable type 'Format' in a '@Sendable' closure
102 | var data: UnsafeMutablePointer<Int8>?
103 | var length: UInt32 = 0
104 | try format.rawValue.withCString { cString in
| `- warning: capture of 'format' with non-sendable type 'Format' in a '@Sendable' closure
105 | try attempt { gvRenderData(context, graph, cString, &data, &length) }
106 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Rendering/Format.swift:1:13: note: consider making enum 'Format' conform to the 'Sendable' protocol
1 | public enum Format: String, Hashable {
| `- note: consider making enum 'Format' conform to the 'Sendable' protocol
2 | /// Windows Bitmap Format
3 | case bmp
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:113:13: warning: capture of 'completion' with non-sendable type '(Result<Data, any Error>) -> Void' in a '@Sendable' closure
111 | }
112 |
113 | completion(result)
| |- warning: capture of 'completion' with non-sendable type '(Result<Data, any Error>) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
114 | }
115 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:93:20: warning: capture of 'options' with non-sendable type 'Renderer.Options' in an isolated closure; this is an error in the Swift 6 language mode
11 | public class Renderer {
12 | /// Rendering options.
13 | public struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
14 | public let rawValue: Int
15 |
:
91 | }
92 |
93 | if options.contains(.removeEdgesImpliedByTransitivity) {
| `- warning: capture of 'options' with non-sendable type 'Renderer.Options' in an isolated closure; this is an error in the Swift 6 language mode
94 | try attempt { gvToolTred(graph) }
95 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:97:21: warning: capture of 'layout' with non-sendable type 'LayoutAlgorithm' in an isolated closure; this is an error in the Swift 6 language mode
95 | }
96 |
97 | try layout.rawValue.withCString { cString in
| `- warning: capture of 'layout' with non-sendable type 'LayoutAlgorithm' in an isolated closure; this is an error in the Swift 6 language mode
98 | try attempt { gvLayout(context, graph, cString) }
99 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Rendering/LayoutAlgorithm.swift:1:13: note: consider making enum 'LayoutAlgorithm' conform to the 'Sendable' protocol
1 | public enum LayoutAlgorithm: String {
| `- note: consider making enum 'LayoutAlgorithm' conform to the 'Sendable' protocol
2 | /// dot draws directed graphs. It works well on DAGs and other graphs that can be drawn as hierarchies.
3 | case dot
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:104:21: warning: capture of 'format' with non-sendable type 'Format' in an isolated closure; this is an error in the Swift 6 language mode
102 | var data: UnsafeMutablePointer<Int8>?
103 | var length: UInt32 = 0
104 | try format.rawValue.withCString { cString in
| `- warning: capture of 'format' with non-sendable type 'Format' in an isolated closure; this is an error in the Swift 6 language mode
105 | try attempt { gvRenderData(context, graph, cString, &data, &length) }
106 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Rendering/Format.swift:1:13: note: consider making enum 'Format' conform to the 'Sendable' protocol
1 | public enum Format: String, Hashable {
| `- note: consider making enum 'Format' conform to the 'Sendable' protocol
2 | /// Windows Bitmap Format
3 | case bmp
[14/35] Compiling GraphViz Renderer.swift
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:30:20: warning: static property 'removeEdgesImpliedByTransitivity' is not concurrency-safe because non-'Sendable' type 'Renderer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public class Renderer {
12 | /// Rendering options.
13 | public struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
14 | public let rawValue: Int
15 |
:
28 | Undirected graphs are silently ignored.
29 | */
30 | static let removeEdgesImpliedByTransitivity = Options(rawValue: 1 << 0)
| |- warning: static property 'removeEdgesImpliedByTransitivity' is not concurrency-safe because non-'Sendable' type 'Renderer.Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'removeEdgesImpliedByTransitivity' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 | }
32 |
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:93:20: warning: capture of 'options' with non-sendable type 'Renderer.Options' in a '@Sendable' closure
11 | public class Renderer {
12 | /// Rendering options.
13 | public struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
14 | public let rawValue: Int
15 |
:
91 | }
92 |
93 | if options.contains(.removeEdgesImpliedByTransitivity) {
| `- warning: capture of 'options' with non-sendable type 'Renderer.Options' in a '@Sendable' closure
94 | try attempt { gvToolTred(graph) }
95 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:97:21: warning: capture of 'layout' with non-sendable type 'LayoutAlgorithm' in a '@Sendable' closure
95 | }
96 |
97 | try layout.rawValue.withCString { cString in
| `- warning: capture of 'layout' with non-sendable type 'LayoutAlgorithm' in a '@Sendable' closure
98 | try attempt { gvLayout(context, graph, cString) }
99 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Rendering/LayoutAlgorithm.swift:1:13: note: consider making enum 'LayoutAlgorithm' conform to the 'Sendable' protocol
1 | public enum LayoutAlgorithm: String {
| `- note: consider making enum 'LayoutAlgorithm' conform to the 'Sendable' protocol
2 | /// dot draws directed graphs. It works well on DAGs and other graphs that can be drawn as hierarchies.
3 | case dot
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:104:21: warning: capture of 'format' with non-sendable type 'Format' in a '@Sendable' closure
102 | var data: UnsafeMutablePointer<Int8>?
103 | var length: UInt32 = 0
104 | try format.rawValue.withCString { cString in
| `- warning: capture of 'format' with non-sendable type 'Format' in a '@Sendable' closure
105 | try attempt { gvRenderData(context, graph, cString, &data, &length) }
106 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Rendering/Format.swift:1:13: note: consider making enum 'Format' conform to the 'Sendable' protocol
1 | public enum Format: String, Hashable {
| `- note: consider making enum 'Format' conform to the 'Sendable' protocol
2 | /// Windows Bitmap Format
3 | case bmp
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:113:13: warning: capture of 'completion' with non-sendable type '(Result<Data, any Error>) -> Void' in a '@Sendable' closure
111 | }
112 |
113 | completion(result)
| |- warning: capture of 'completion' with non-sendable type '(Result<Data, any Error>) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
114 | }
115 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:93:20: warning: capture of 'options' with non-sendable type 'Renderer.Options' in an isolated closure; this is an error in the Swift 6 language mode
11 | public class Renderer {
12 | /// Rendering options.
13 | public struct Options: OptionSet {
| `- note: consider making struct 'Options' conform to the 'Sendable' protocol
14 | public let rawValue: Int
15 |
:
91 | }
92 |
93 | if options.contains(.removeEdgesImpliedByTransitivity) {
| `- warning: capture of 'options' with non-sendable type 'Renderer.Options' in an isolated closure; this is an error in the Swift 6 language mode
94 | try attempt { gvToolTred(graph) }
95 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:97:21: warning: capture of 'layout' with non-sendable type 'LayoutAlgorithm' in an isolated closure; this is an error in the Swift 6 language mode
95 | }
96 |
97 | try layout.rawValue.withCString { cString in
| `- warning: capture of 'layout' with non-sendable type 'LayoutAlgorithm' in an isolated closure; this is an error in the Swift 6 language mode
98 | try attempt { gvLayout(context, graph, cString) }
99 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Rendering/LayoutAlgorithm.swift:1:13: note: consider making enum 'LayoutAlgorithm' conform to the 'Sendable' protocol
1 | public enum LayoutAlgorithm: String {
| `- note: consider making enum 'LayoutAlgorithm' conform to the 'Sendable' protocol
2 | /// dot draws directed graphs. It works well on DAGs and other graphs that can be drawn as hierarchies.
3 | case dot
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Tools/Renderer.swift:104:21: warning: capture of 'format' with non-sendable type 'Format' in an isolated closure; this is an error in the Swift 6 language mode
102 | var data: UnsafeMutablePointer<Int8>?
103 | var length: UInt32 = 0
104 | try format.rawValue.withCString { cString in
| `- warning: capture of 'format' with non-sendable type 'Format' in an isolated closure; this is an error in the Swift 6 language mode
105 | try attempt { gvRenderData(context, graph, cString, &data, &length) }
106 | }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Rendering/Format.swift:1:13: note: consider making enum 'Format' conform to the 'Sendable' protocol
1 | public enum Format: String, Hashable {
| `- note: consider making enum 'Format' conform to the 'Sendable' protocol
2 | /// Windows Bitmap Format
3 | case bmp
[15/35] Compiling GraphViz Location.swift
[16/35] Compiling GraphViz Ordering.swift
[17/35] Compiling GraphViz Point.swift
[18/35] Compiling GraphViz Edge.swift
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Extensions/KeyValuePairs+Extensions.swift:1:1: warning: extension declares a conformance of imported type 'KeyValuePairs' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
1 | extension KeyValuePairs: Equatable where Key: Equatable, Value: Equatable {
| |- warning: extension declares a conformance of imported type 'KeyValuePairs' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
2 | public static func == (lhs: KeyValuePairs<Key, Value>, rhs: KeyValuePairs<Key, Value>) -> Bool {
3 | guard lhs.count == rhs.count else { return false }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Extensions/KeyValuePairs+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'KeyValuePairs' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
10 | }
11 |
12 | extension KeyValuePairs: Hashable where Key: Hashable, Value: Hashable {
| |- warning: extension declares a conformance of imported type 'KeyValuePairs' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
13 | public func hash(into hasher: inout Hasher) {
14 | for (key, value) in self {
[19/35] Compiling GraphViz KeyValuePairs+Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Extensions/KeyValuePairs+Extensions.swift:1:1: warning: extension declares a conformance of imported type 'KeyValuePairs' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
1 | extension KeyValuePairs: Equatable where Key: Equatable, Value: Equatable {
| |- warning: extension declares a conformance of imported type 'KeyValuePairs' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
2 | public static func == (lhs: KeyValuePairs<Key, Value>, rhs: KeyValuePairs<Key, Value>) -> Bool {
3 | guard lhs.count == rhs.count else { return false }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Extensions/KeyValuePairs+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'KeyValuePairs' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
10 | }
11 |
12 | extension KeyValuePairs: Hashable where Key: Hashable, Value: Hashable {
| |- warning: extension declares a conformance of imported type 'KeyValuePairs' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
13 | public func hash(into hasher: inout Hasher) {
14 | for (key, value) in self {
[20/35] Compiling GraphViz Graph.swift
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Extensions/KeyValuePairs+Extensions.swift:1:1: warning: extension declares a conformance of imported type 'KeyValuePairs' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
1 | extension KeyValuePairs: Equatable where Key: Equatable, Value: Equatable {
| |- warning: extension declares a conformance of imported type 'KeyValuePairs' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
2 | public static func == (lhs: KeyValuePairs<Key, Value>, rhs: KeyValuePairs<Key, Value>) -> Bool {
3 | guard lhs.count == rhs.count else { return false }
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/Core/Extensions/KeyValuePairs+Extensions.swift:12:1: warning: extension declares a conformance of imported type 'KeyValuePairs' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
10 | }
11 |
12 | extension KeyValuePairs: Hashable where Key: Hashable, Value: Hashable {
| |- warning: extension declares a conformance of imported type 'KeyValuePairs' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
13 | public func hash(into hasher: inout Hasher) {
14 | for (key, value) in self {
[21/35] Compiling GraphViz Subgraph.swift
[22/35] Compiling GraphViz AspectRatio.swift
[23/35] Compiling GraphViz Color.swift
[24/35] Compiling GraphViz UndirectedEdgeOperator.swift
[25/35] Compiling GraphViz SubgraphBuilder.swift
[26/35] Compiling GraphViz Attribute.swift
[27/35] Compiling GraphViz Position.swift
[28/35] Compiling GraphViz Rectangle.swift
[29/35] Compiling GraphViz Size.swift
[30/35] Compiling GraphViz Node.swift
[31/35] Compiling GraphViz Format.swift
[32/35] Compiling GraphViz LayoutAlgorithm.swift
[33/35] Compiling GraphViz DOT.swift
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/DOT/DOTEncoder.swift:23:24: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DOTEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
3 | /// For more information about the DOT language,
4 | /// see <https://www.graphviz.org/doc/info/lang.html>.
5 | public struct DOTEncoder {
| `- note: consider making struct 'DOTEncoder' conform to the 'Sendable' protocol
6 | public enum Delimiter: String {
7 | case comma = ","
:
21 | public var omitEmptyNodes: Bool = true
22 |
23 | private static let shared = DOTEncoder()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DOTEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 |
25 | /// Creates a new DOT encoder.
[34/35] Compiling GraphViz DOTEncoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/DOT/DOTEncoder.swift:23:24: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DOTEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
3 | /// For more information about the DOT language,
4 | /// see <https://www.graphviz.org/doc/info/lang.html>.
5 | public struct DOTEncoder {
| `- note: consider making struct 'DOTEncoder' conform to the 'Sendable' protocol
6 | public enum Delimiter: String {
7 | case comma = ","
:
21 | public var omitEmptyNodes: Bool = true
22 |
23 | private static let shared = DOTEncoder()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DOTEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 |
25 | /// Creates a new DOT encoder.
[35/35] Compiling GraphViz DOTRepresentable.swift
/Users/admin/builder/spi-builder-workspace/Sources/GraphViz/DOT/DOTEncoder.swift:23:24: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DOTEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
3 | /// For more information about the DOT language,
4 | /// see <https://www.graphviz.org/doc/info/lang.html>.
5 | public struct DOTEncoder {
| `- note: consider making struct 'DOTEncoder' conform to the 'Sendable' protocol
6 | public enum Delimiter: String {
7 | case comma = ","
:
21 | public var omitEmptyNodes: Bool = true
22 |
23 | private static let shared = DOTEncoder()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DOTEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 |
25 | /// Creates a new DOT encoder.
Build complete! (5.03s)
warning: failed to retrieve search paths with pkg-config; maybe pkg-config is not installed
warning: you may be able to install libcgraph using your system-packager:
brew install graphviz
warning: you may be able to install libcgraph using your system-packager:
brew install graphviz
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "GraphViz",
"name" : "GraphViz",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "GraphViz",
"targets" : [
"GraphViz"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "GraphVizTests",
"module_type" : "SwiftTarget",
"name" : "GraphVizTests",
"path" : "Tests/GraphVizTests",
"sources" : [
"AttributesTest.swift",
"EdgeTests.swift",
"GraphBuilderTests.swift",
"GraphTests.swift",
"NodeTests.swift",
"RenderingTests.swift",
"SubgraphBuilderTests.swift",
"SubgraphTests.swift"
],
"target_dependencies" : [
"GraphViz"
],
"type" : "test"
},
{
"c99name" : "GraphViz",
"module_type" : "SwiftTarget",
"name" : "GraphViz",
"path" : "Sources/GraphViz",
"product_memberships" : [
"GraphViz"
],
"sources" : [
"Builder/Extensions/Edge+Extensions.swift",
"Builder/Extensions/Graph+Extensions.swift",
"Builder/Extensions/Node+Extensions.swift",
"Builder/Extensions/Subgraph+Extensions.swift",
"Builder/GraphBuilder.swift",
"Builder/Operators/BackwardEdgeOperator.swift",
"Builder/Operators/BidirectionalEdgeOperator.swift",
"Builder/Operators/ForwardEdgeOperator.swift",
"Builder/Operators/UndirectedEdgeOperator.swift",
"Builder/SubgraphBuilder.swift",
"Core/Attribute.swift",
"Core/Edge.swift",
"Core/Extensions/KeyValuePairs+Extensions.swift",
"Core/Graph.swift",
"Core/Node.swift",
"Core/Rendering/Format.swift",
"Core/Rendering/LayoutAlgorithm.swift",
"Core/Subgraph.swift",
"Core/Supporting Types/AspectRatio.swift",
"Core/Supporting Types/Color.swift",
"Core/Supporting Types/Location.swift",
"Core/Supporting Types/Ordering.swift",
"Core/Supporting Types/Point.swift",
"Core/Supporting Types/Position.swift",
"Core/Supporting Types/Rectangle.swift",
"Core/Supporting Types/Size.swift",
"DOT/DOT.swift",
"DOT/DOTEncoder.swift",
"DOT/DOTRepresentable.swift",
"Tools/Error.swift",
"Tools/Extensions/Graph+Rendering.swift",
"Tools/Renderer.swift"
],
"target_dependencies" : [
"Clibgraphviz"
],
"type" : "library"
},
{
"c99name" : "Clibgraphviz",
"module_type" : "SystemLibraryTarget",
"name" : "Clibgraphviz",
"path" : "Sources/Clibgraphviz",
"product_memberships" : [
"GraphViz"
],
"sources" : [
],
"type" : "system-target"
}
],
"tools_version" : "5.2"
}
Done.