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 ImGui, reference 1.89.5 (c81197), with Swift 6.0 for Linux on 3 Nov 2024 03:17:55 UTC.

Swift 6 data race errors: 1

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/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/ctreffs/SwiftImGui.git
Reference: 1.89.5
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/ctreffs/SwiftImGui
 * tag               1.89.5     -> FETCH_HEAD
HEAD is now at c811974 Update ImGui to 1.89.5 (#17)
Submodule path '3rdparty/cimgui': checked out '1bb9cd73470f1fcdedf6c3f2e8dc1765463f2ad0'
Submodule path '3rdparty/cimgui/imgui': checked out '1ebb91382757777382b3629ced2a573996e46453'
Submodule '3rdparty/cimgui' (https://github.com/cimgui/cimgui.git) registered for path '3rdparty/cimgui'
Cloning into '/host/spi-builder-workspace/3rdparty/cimgui'...
Submodule 'imgui' (https://github.com/ocornut/imgui.git) registered for path '3rdparty/cimgui/imgui'
Cloning into '/host/spi-builder-workspace/3rdparty/cimgui/imgui'...
Cloned https://github.com/ctreffs/SwiftImGui.git
Revision (git rev-parse @):
c81197496f9227001fd5531673604a6f29f880b1
SUCCESS checkout https://github.com/ctreffs/SwiftImGui.git at 1.89.5
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/ctreffs/SwiftImGui.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/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/18] Write sources
[2/18] Copying definitions.json
[3/18] Write sources
[4/18] Write swift-version-24593BA9C3E375BF.txt
[5/27] Compiling imgui_demo.cpp
[6/27] Compiling imgui_tables.cpp
[7/27] Compiling imgui_draw.cpp
[8/27] Compiling imgui_widgets.cpp
[9/27] Compiling CImGui cimgui.cpp
[10/27] Compiling imgui.cpp
[12/32] Compiling AutoWrapper Exceptions.swift
/host/spi-builder-workspace/Sources/AutoWrapper/Exceptions.swift:65:23: warning: static property 'undeclardTypes' is not concurrency-safe because non-'Sendable' type '[String : Declaration]' may have shared mutable state; this is an error in the Swift 6 language mode
63 |
64 |     /// causes "Use of undeclared type '...'" compiler error.
65 |     public static let undeclardTypes: [String: Declaration] = [
   |                       |- warning: static property 'undeclardTypes' is not concurrency-safe because non-'Sendable' type '[String : Declaration]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'undeclardTypes' 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
66 |         "ImBitArray": Declaration(name: "ImBitArray", typealiasType: "OpaquePointer"),
67 |         "ImChunkStream": Declaration(name: "ImChunkStream", typealiasType: "OpaquePointer"),
   :
75 | }
76 |
77 | public struct Declaration {
   |               `- note: consider making struct 'Declaration' conform to the 'Sendable' protocol
78 |     public let name: String
79 |     public let typealiasType: String
[13/33] Compiling AutoWrapper Definitions.swift
/host/spi-builder-workspace/Sources/AutoWrapper/Definitions.swift:38:16: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 36 |     public let argsT: [ArgsT]
 37 |     public let ret: DataType?
 38 |     public let templated = false
    |                |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |                |- note: set the initial value via the initializer or explicitly define a CodingKeys enum without a 'templated' case to silence this warning
    |                `- note: make the property mutable instead
 39 |     public let namespace: String?
 40 |
[14/33] Emitting module ImGui
/host/spi-builder-workspace/Sources/ImGui/ImVec+Extensions.swift:10:1: warning: extension declares a conformance of imported type 'ImVec1' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
 8 | import CImGui
 9 |
10 | extension ImVec1: Equatable {
   | |- warning: extension declares a conformance of imported type 'ImVec1' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public static func == (lhs: ImVec1, rhs: ImVec1) -> Bool {
12 |         lhs.x == rhs.x
/host/spi-builder-workspace/Sources/ImGui/ImVec+Extensions.swift:16:1: warning: extension declares a conformance of imported type 'ImVec2' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
14 | }
15 |
16 | extension ImVec2: Equatable {
   | |- warning: extension declares a conformance of imported type 'ImVec2' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
17 |     public static func == (lhs: ImVec2, rhs: ImVec2) -> Bool {
18 |         lhs.x == rhs.x &&
/host/spi-builder-workspace/Sources/ImGui/ImVec+Extensions.swift:23:1: warning: extension declares a conformance of imported type 'ImVec4' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
21 | }
22 |
23 | extension ImVec4: Equatable {
   | |- warning: extension declares a conformance of imported type 'ImVec4' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |     public static func == (lhs: ImVec4, rhs: ImVec4) -> Bool {
25 |         lhs.x == rhs.x &&
[15/33] Compiling AutoWrapper DataType.swift
/host/spi-builder-workspace/Sources/AutoWrapper/Exceptions.swift:65:23: warning: static property 'undeclardTypes' is not concurrency-safe because non-'Sendable' type '[String : Declaration]' may have shared mutable state; this is an error in the Swift 6 language mode
63 |
64 |     /// causes "Use of undeclared type '...'" compiler error.
65 |     public static let undeclardTypes: [String: Declaration] = [
   |                       |- warning: static property 'undeclardTypes' is not concurrency-safe because non-'Sendable' type '[String : Declaration]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'undeclardTypes' 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
66 |         "ImBitArray": Declaration(name: "ImBitArray", typealiasType: "OpaquePointer"),
67 |         "ImChunkStream": Declaration(name: "ImChunkStream", typealiasType: "OpaquePointer"),
   :
75 | }
76 |
77 | public struct Declaration {
   |               `- note: consider making struct 'Declaration' conform to the 'Sendable' protocol
78 |     public let name: String
79 |     public let typealiasType: String
[16/33] Compiling ImGui ImVec+Extensions.swift
/host/spi-builder-workspace/Sources/ImGui/ImVec+Extensions.swift:10:1: warning: extension declares a conformance of imported type 'ImVec1' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
 8 | import CImGui
 9 |
10 | extension ImVec1: Equatable {
   | |- warning: extension declares a conformance of imported type 'ImVec1' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public static func == (lhs: ImVec1, rhs: ImVec1) -> Bool {
12 |         lhs.x == rhs.x
/host/spi-builder-workspace/Sources/ImGui/ImVec+Extensions.swift:16:1: warning: extension declares a conformance of imported type 'ImVec2' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
14 | }
15 |
16 | extension ImVec2: Equatable {
   | |- warning: extension declares a conformance of imported type 'ImVec2' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
17 |     public static func == (lhs: ImVec2, rhs: ImVec2) -> Bool {
18 |         lhs.x == rhs.x &&
/host/spi-builder-workspace/Sources/ImGui/ImVec+Extensions.swift:23:1: warning: extension declares a conformance of imported type 'ImVec4' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
21 | }
22 |
23 | extension ImVec4: Equatable {
   | |- warning: extension declares a conformance of imported type 'ImVec4' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
24 |     public static func == (lhs: ImVec4, rhs: ImVec4) -> Bool {
25 |         lhs.x == rhs.x &&
[17/33] Compiling ImGui Export.swift
[18/33] Compiling ImGui ImGui+Definitions.swift
[19/33] Compiling ImGui Helper.swift
[20/34] Wrapping AST for ImGui for debugging
[22/36] Compiling DemoMinimal main.swift
[23/36] Emitting module DemoMinimal
[24/37] Wrapping AST for DemoMinimal for debugging
[25/37] Write Objects.LinkFileList
[26/37] Linking DemoMinimal
[28/37] Compiling AutoWrapper resource_bundle_accessor.swift
[29/37] Compiling AutoWrapper SwiftKeywords.swift
[30/37] Compiling AutoWrapper FunctionBodyRenderer.swift
[31/37] Compiling AutoWrapper main.swift
/host/spi-builder-workspace/Sources/AutoWrapper/Exceptions.swift:65:23: warning: static property 'undeclardTypes' is not concurrency-safe because non-'Sendable' type '[String : Declaration]' may have shared mutable state; this is an error in the Swift 6 language mode
63 |
64 |     /// causes "Use of undeclared type '...'" compiler error.
65 |     public static let undeclardTypes: [String: Declaration] = [
   |                       |- warning: static property 'undeclardTypes' is not concurrency-safe because non-'Sendable' type '[String : Declaration]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'undeclardTypes' 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
66 |         "ImBitArray": Declaration(name: "ImBitArray", typealiasType: "OpaquePointer"),
67 |         "ImChunkStream": Declaration(name: "ImChunkStream", typealiasType: "OpaquePointer"),
   :
75 | }
76 |
77 | public struct Declaration {
   |               `- note: consider making struct 'Declaration' conform to the 'Sendable' protocol
78 |     public let name: String
79 |     public let typealiasType: String
[32/37] Compiling AutoWrapper ArgT.swift
[33/37] Compiling AutoWrapper Converter.swift
[34/37] Emitting module AutoWrapper
/host/spi-builder-workspace/Sources/AutoWrapper/Exceptions.swift:65:23: warning: static property 'undeclardTypes' is not concurrency-safe because non-'Sendable' type '[String : Declaration]' may have shared mutable state; this is an error in the Swift 6 language mode
63 |
64 |     /// causes "Use of undeclared type '...'" compiler error.
65 |     public static let undeclardTypes: [String: Declaration] = [
   |                       |- warning: static property 'undeclardTypes' is not concurrency-safe because non-'Sendable' type '[String : Declaration]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'undeclardTypes' 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
66 |         "ImBitArray": Declaration(name: "ImBitArray", typealiasType: "OpaquePointer"),
67 |         "ImChunkStream": Declaration(name: "ImChunkStream", typealiasType: "OpaquePointer"),
   :
75 | }
76 |
77 | public struct Declaration {
   |               `- note: consider making struct 'Declaration' conform to the 'Sendable' protocol
78 |     public let name: String
79 |     public let typealiasType: String
[35/38] Wrapping AST for AutoWrapper for debugging
[36/38] Write Objects.LinkFileList
[37/38] Linking AutoWrapper
Build complete! (13.77s)
Build complete.
{
  "c_language_standard" : "c11",
  "cxx_language_standard" : "c++11",
  "dependencies" : [
  ],
  "manifest_display_name" : "ImGui",
  "name" : "ImGui",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "ImGui",
      "targets" : [
        "ImGui"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "DemoMinimal",
      "targets" : [
        "DemoMinimal"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "AutoWrapper",
      "targets" : [
        "AutoWrapper"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ImGuiTests",
      "module_type" : "SwiftTarget",
      "name" : "ImGuiTests",
      "path" : "Tests/ImGuiTests",
      "sources" : [
        "ImGuiTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "ImGui"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ImGui",
      "module_type" : "SwiftTarget",
      "name" : "ImGui",
      "path" : "Sources/ImGui",
      "product_memberships" : [
        "ImGui",
        "DemoMinimal"
      ],
      "sources" : [
        "Export.swift",
        "Helper.swift",
        "ImGui+Definitions.swift",
        "ImVec+Extensions.swift"
      ],
      "target_dependencies" : [
        "CImGui"
      ],
      "type" : "library"
    },
    {
      "c99name" : "DemoMinimal",
      "module_type" : "SwiftTarget",
      "name" : "DemoMinimal",
      "path" : "Sources/Demos/Minimal",
      "product_memberships" : [
        "DemoMinimal"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "ImGui"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "CImGui",
      "module_type" : "ClangTarget",
      "name" : "CImGui",
      "path" : "Sources/CImGui",
      "product_memberships" : [
        "ImGui",
        "DemoMinimal"
      ],
      "sources" : [
        "cimgui.cpp",
        "imgui/imgui.cpp",
        "imgui/imgui_demo.cpp",
        "imgui/imgui_draw.cpp",
        "imgui/imgui_tables.cpp",
        "imgui/imgui_widgets.cpp"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AutoWrapper",
      "module_type" : "SwiftTarget",
      "name" : "AutoWrapper",
      "path" : "Sources/AutoWrapper",
      "product_memberships" : [
        "AutoWrapper"
      ],
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Sources/AutoWrapper/Assets/definitions.json",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "ArgT.swift",
        "Converter.swift",
        "DataType.swift",
        "Definitions.swift",
        "Exceptions.swift",
        "FunctionBodyRenderer.swift",
        "SwiftKeywords.swift",
        "main.swift"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.3"
}
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.