The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of PerfectCRUD, reference main (9e8165), with Swift 6.2 (beta) for Android on 21 Jun 2025 00:16:09 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/richardpiazza/Perfect-CRUD.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/richardpiazza/Perfect-CRUD
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 9e8165d Platform Modernization (#1)
Cloned https://github.com/richardpiazza/Perfect-CRUD.git
Revision (git rev-parse @):
9e8165db6164cb6fcc7740694192626cf4ffafcc
SUCCESS checkout https://github.com/richardpiazza/Perfect-CRUD.git at main
========================================
Build
========================================
Selected platform:         android
Swift version:             6.2
Building package at path:  $PWD
https://github.com/richardpiazza/Perfect-CRUD.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:b7c4a6b4153ff40ef9277e2157e708f835b8eb011095d53bd8db4594eb2b7798
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.2-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-8C5A4AE7A8CE2BA.txt
[3/26] Emitting module PerfectCRUD
/host/spi-builder-workspace/Sources/PerfectCRUD/Coding/CodingNames.swift:326:15: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
316 | }
317 |
318 | struct SubTable<T: Decodable, R: Decodable>: SubTableProto {
    |                 `- note: 'T' previously declared here
319 | 	let name: String
320 | 	let type: T.Type
    :
324 | 		return try type.self.CRUDTableStructure(columnDecoder: decoder)
325 | 	}
326 | 	func matches<T: Decodable>(_ type: T.Type) -> Bool {
    |               `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
327 | 		return self.type == type
328 | 	}
[4/29] Compiling PerfectCRUD Table.swift
[5/29] Compiling PerfectCRUD Update.swift
[6/29] Compiling PerfectCRUD Where.swift
[7/29] Compiling PerfectCRUD Coding.swift
[8/29] Compiling PerfectCRUD CodingBindings.swift
[9/29] Compiling PerfectCRUD CodingJoins.swift
[10/29] Compiling PerfectCRUD CodingKeyPaths.swift
[11/29] Compiling PerfectCRUD CodingNames.swift
/host/spi-builder-workspace/Sources/PerfectCRUD/Coding/CodingNames.swift:326:15: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
316 | }
317 |
318 | struct SubTable<T: Decodable, R: Decodable>: SubTableProto {
    |                 `- note: 'T' previously declared here
319 | 	let name: String
320 | 	let type: T.Type
    :
324 | 		return try type.self.CRUDTableStructure(columnDecoder: decoder)
325 | 	}
326 | 	func matches<T: Decodable>(_ type: T.Type) -> Bool {
    |               `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
327 | 		return self.type == type
328 | 	}
[12/29] Compiling PerfectCRUD CodingRows.swift
/host/spi-builder-workspace/Sources/PerfectCRUD/Coding/CodingNames.swift:326:15: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
316 | }
317 |
318 | struct SubTable<T: Decodable, R: Decodable>: SubTableProto {
    |                 `- note: 'T' previously declared here
319 | 	let name: String
320 | 	let type: T.Type
    :
324 | 		return try type.self.CRUDTableStructure(columnDecoder: decoder)
325 | 	}
326 | 	func matches<T: Decodable>(_ type: T.Type) -> Bool {
    |               `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
327 | 		return self.type == type
328 | 	}
[13/29] Compiling PerfectCRUD Create.swift
/host/spi-builder-workspace/Sources/PerfectCRUD/Coding/CodingNames.swift:326:15: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
316 | }
317 |
318 | struct SubTable<T: Decodable, R: Decodable>: SubTableProto {
    |                 `- note: 'T' previously declared here
319 | 	let name: String
320 | 	let type: T.Type
    :
324 | 		return try type.self.CRUDTableStructure(columnDecoder: decoder)
325 | 	}
326 | 	func matches<T: Decodable>(_ type: T.Type) -> Bool {
    |               `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
327 | 		return self.type == type
328 | 	}
[14/29] Compiling PerfectCRUD Database.swift
/host/spi-builder-workspace/Sources/PerfectCRUD/Coding/CodingNames.swift:326:15: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
316 | }
317 |
318 | struct SubTable<T: Decodable, R: Decodable>: SubTableProto {
    |                 `- note: 'T' previously declared here
319 | 	let name: String
320 | 	let type: T.Type
    :
324 | 		return try type.self.CRUDTableStructure(columnDecoder: decoder)
325 | 	}
326 | 	func matches<T: Decodable>(_ type: T.Type) -> Bool {
    |               `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
327 | 		return self.type == type
328 | 	}
[15/29] Compiling PerfectCRUD Logical.swift
[16/29] Compiling PerfectCRUD Insert.swift
[17/29] Compiling PerfectCRUD Join.swift
[18/29] Compiling PerfectCRUD Logging.swift
/host/spi-builder-workspace/Sources/PerfectCRUD/Logging.swift:127:53: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
125 | 	}
126 | 	private static func scheduleLogCheck(_ queue: DispatchQueue) {
127 | 		queue.asyncAfter(deadline: .now() + 0.5, execute: logCheckReschedulingInSerialQueue)
    |                                                     `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
128 | 	}
129 | }
[19/29] Compiling PerfectCRUD PerfectCRUD.swift
/host/spi-builder-workspace/Sources/PerfectCRUD/Logging.swift:127:53: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
125 | 	}
126 | 	private static func scheduleLogCheck(_ queue: DispatchQueue) {
127 | 		queue.asyncAfter(deadline: .now() + 0.5, execute: logCheckReschedulingInSerialQueue)
    |                                                     `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
128 | 	}
129 | }
[20/29] Compiling PerfectCRUD Select.swift
/host/spi-builder-workspace/Sources/PerfectCRUD/Logging.swift:127:53: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
125 | 	}
126 | 	private static func scheduleLogCheck(_ queue: DispatchQueue) {
127 | 		queue.asyncAfter(deadline: .now() + 0.5, execute: logCheckReschedulingInSerialQueue)
    |                                                     `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
128 | 	}
129 | }
[21/29] Compiling PerfectCRUD Equality.swift
[22/29] Compiling PerfectCRUD EqualityInts.swift
[23/29] Compiling PerfectCRUD Expression.swift
[24/29] Compiling PerfectCRUD In.swift
[25/29] Compiling PerfectCRUD InInts.swift
[26/29] Compiling PerfectCRUD Like.swift
[27/29] Compiling PerfectCRUD Delete.swift
[28/29] Compiling PerfectCRUD Comparison.swift
[29/29] Compiling PerfectCRUD ComparisonInts.swift
Build complete! (22.41s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "PerfectCRUD",
  "name" : "PerfectCRUD",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "maccatalyst",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "PerfectCRUD",
      "targets" : [
        "PerfectCRUD"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PerfectCRUD",
      "module_type" : "SwiftTarget",
      "name" : "PerfectCRUD",
      "path" : "Sources/PerfectCRUD",
      "product_memberships" : [
        "PerfectCRUD"
      ],
      "sources" : [
        "Coding/Coding.swift",
        "Coding/CodingBindings.swift",
        "Coding/CodingJoins.swift",
        "Coding/CodingKeyPaths.swift",
        "Coding/CodingNames.swift",
        "Coding/CodingRows.swift",
        "Create.swift",
        "Database.swift",
        "Delete.swift",
        "Expression/Comparison.swift",
        "Expression/ComparisonInts.swift",
        "Expression/Equality.swift",
        "Expression/EqualityInts.swift",
        "Expression/Expression.swift",
        "Expression/In.swift",
        "Expression/InInts.swift",
        "Expression/Like.swift",
        "Expression/Logical.swift",
        "Insert.swift",
        "Join.swift",
        "Logging.swift",
        "PerfectCRUD.swift",
        "Select.swift",
        "Table.swift",
        "Update.swift",
        "Where.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
android-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:b7c4a6b4153ff40ef9277e2157e708f835b8eb011095d53bd8db4594eb2b7798
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.2-latest
Done.