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 swiftui-bottom-sheet-drawer, reference 1.0.0 (ebbf5e), with Swift 6.0 (beta) for macOS (SPM) on 14 Sep 2024 08:08:24 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.53.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/igor11191708/swiftui-bottomsheet-drawer.git
Reference: 1.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/igor11191708/swiftui-bottomsheet-drawer
 * tag               1.0.0      -> FETCH_HEAD
HEAD is now at ebbf5e5 Create .DS_Store
Cloned https://github.com/igor11191708/swiftui-bottomsheet-drawer.git
Revision (git rev-parse @):
ebbf5e5584f6a01c50695a2d32a5c98c72383a63
SUCCESS checkout https://github.com/igor11191708/swiftui-bottomsheet-drawer.git at 1.0.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/igor11191708/swiftui-bottomsheet-drawer.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Release.Candidate.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-117DEE11B69C53C9.txt
[3/11] Compiling swiftui_bottom_sheet_drawer RoundedCornersShape.swift
[4/11] Compiling swiftui_bottom_sheet_drawer SizePreferenceKey.swift
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-bottom-sheet-drawer/key/SizePreferenceKey.swift:14:23: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | public struct SizePreferenceKey: PreferenceKey {
13 |
14 |     public static var defaultValue = CGSize(width: 0, height: 0)
   |                       |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'defaultValue' 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
15 |
16 |     public static func reduce(value: inout CGSize, nextValue: () -> CGSize) {
[5/11] Compiling swiftui_bottom_sheet_drawer IBottomSheetView.swift
[6/11] Compiling swiftui_bottom_sheet_drawer BottomSheetPosition.swift
[7/11] Emitting module swiftui_bottom_sheet_drawer
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-bottom-sheet-drawer/BottomSheet.swift:247:10: warning: main actor-isolated instance method 'hideDragButton()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 11 | /// Bottom sheet drawer widget
 12 | @available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 6.0, *)
 13 | public struct BottomSheet<Content : View>: IBottomSheetView {
    |                                            `- note: add '@preconcurrency' to the 'IBottomSheetView' conformance to defer isolation checking to run time
 14 |
 15 |     private typealias Position = BottomSheetPosition
    :
245 |     /// Hide dragging button
246 |     /// - Returns: Sheet with hidden button
247 |     func hideDragButton() -> Self{
    |          |- warning: main actor-isolated instance method 'hideDragButton()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |          `- note: add 'nonisolated' to 'hideDragButton()' to make this instance method not isolated to the actor
248 |         var view = self
249 |         view.showDragButton = false
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-bottom-sheet-drawer/protocol/IBottomSheetView.swift:17:10: note: mark the protocol requirement 'hideDragButton()' 'async' to allow actor-isolated conformances
15 |
16 |     /// Hide dragging button
17 |     func hideDragButton() -> Self
   |          `- note: mark the protocol requirement 'hideDragButton()' 'async' to allow actor-isolated conformances
18 |
19 |     /// Trun off animation
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-bottom-sheet-drawer/BottomSheet.swift:256:10: warning: main actor-isolated instance method 'withoutAnimation()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
254 |     ///  Turn off animation
255 |     /// - Returns: Sheet without animation
256 |     func withoutAnimation() -> Self{
    |          |- warning: main actor-isolated instance method 'withoutAnimation()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |          `- note: add 'nonisolated' to 'withoutAnimation()' to make this instance method not isolated to the actor
257 |         var view = self
258 |         view.doAnimation = false
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-bottom-sheet-drawer/protocol/IBottomSheetView.swift:20:10: note: mark the protocol requirement 'withoutAnimation()' 'async' to allow actor-isolated conformances
18 |
19 |     /// Trun off animation
20 |     func withoutAnimation() -> Self
   |          `- note: mark the protocol requirement 'withoutAnimation()' 'async' to allow actor-isolated conformances
21 |
22 |     // MARK: - Event methods
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-bottom-sheet-drawer/BottomSheet.swift:267:10: warning: main actor-isolated instance method 'onPositionChanged' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
265 |     /// - Parameter fn: callback to react
266 |     /// - Returns: View
267 |     func onPositionChanged(_ fn: @escaping (BottomSheetPosition) -> ()) -> some View {
    |          |- warning: main actor-isolated instance method 'onPositionChanged' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |          `- note: add 'nonisolated' to 'onPositionChanged' to make this instance method not isolated to the actor
268 |         self.onPreferenceChange(BottomSheetPositionKey.self) {
269 |             fn($0)
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-bottom-sheet-drawer/protocol/IBottomSheetView.swift:25:10: note: mark the protocol requirement 'onPositionChanged' 'async' to allow actor-isolated conformances
23 |
24 |     /// Handler for changing the sheet position
25 |     func onPositionChanged(_ fn: @escaping (BottomSheetPosition) -> ()) -> V
   |          `- note: mark the protocol requirement 'onPositionChanged' 'async' to allow actor-isolated conformances
26 |
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-bottom-sheet-drawer/key/BottomSheetPositionKey.swift:14:23: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | public struct BottomSheetPositionKey: PreferenceKey {
13 |
14 |     static public var defaultValue: BottomSheetPosition = .down(0)
   |                       |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'defaultValue' 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
15 |
16 |     static public func reduce(value: inout BottomSheetPosition, nextValue: () -> BottomSheetPosition) {
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-bottom-sheet-drawer/key/SizePreferenceKey.swift:14:23: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | public struct SizePreferenceKey: PreferenceKey {
13 |
14 |     public static var defaultValue = CGSize(width: 0, height: 0)
   |                       |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'defaultValue' 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
15 |
16 |     public static func reduce(value: inout CGSize, nextValue: () -> CGSize) {
[8/11] Compiling swiftui_bottom_sheet_drawer BottomSheetPositionKey.swift
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-bottom-sheet-drawer/key/BottomSheetPositionKey.swift:14:23: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | public struct BottomSheetPositionKey: PreferenceKey {
13 |
14 |     static public var defaultValue: BottomSheetPosition = .down(0)
   |                       |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'defaultValue' 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
15 |
16 |     static public func reduce(value: inout BottomSheetPosition, nextValue: () -> BottomSheetPosition) {
[9/11] Compiling swiftui_bottom_sheet_drawer Comparable+clamped.swift
[10/11] Compiling swiftui_bottom_sheet_drawer View+MessureSize.swift
[11/11] Compiling swiftui_bottom_sheet_drawer BottomSheet.swift
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-bottom-sheet-drawer/BottomSheet.swift:247:10: warning: main actor-isolated instance method 'hideDragButton()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 11 | /// Bottom sheet drawer widget
 12 | @available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 6.0, *)
 13 | public struct BottomSheet<Content : View>: IBottomSheetView {
    |                                            `- note: add '@preconcurrency' to the 'IBottomSheetView' conformance to defer isolation checking to run time
 14 |
 15 |     private typealias Position = BottomSheetPosition
    :
245 |     /// Hide dragging button
246 |     /// - Returns: Sheet with hidden button
247 |     func hideDragButton() -> Self{
    |          |- warning: main actor-isolated instance method 'hideDragButton()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |          `- note: add 'nonisolated' to 'hideDragButton()' to make this instance method not isolated to the actor
248 |         var view = self
249 |         view.showDragButton = false
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-bottom-sheet-drawer/protocol/IBottomSheetView.swift:17:10: note: mark the protocol requirement 'hideDragButton()' 'async' to allow actor-isolated conformances
15 |
16 |     /// Hide dragging button
17 |     func hideDragButton() -> Self
   |          `- note: mark the protocol requirement 'hideDragButton()' 'async' to allow actor-isolated conformances
18 |
19 |     /// Trun off animation
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-bottom-sheet-drawer/BottomSheet.swift:256:10: warning: main actor-isolated instance method 'withoutAnimation()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
254 |     ///  Turn off animation
255 |     /// - Returns: Sheet without animation
256 |     func withoutAnimation() -> Self{
    |          |- warning: main actor-isolated instance method 'withoutAnimation()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |          `- note: add 'nonisolated' to 'withoutAnimation()' to make this instance method not isolated to the actor
257 |         var view = self
258 |         view.doAnimation = false
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-bottom-sheet-drawer/protocol/IBottomSheetView.swift:20:10: note: mark the protocol requirement 'withoutAnimation()' 'async' to allow actor-isolated conformances
18 |
19 |     /// Trun off animation
20 |     func withoutAnimation() -> Self
   |          `- note: mark the protocol requirement 'withoutAnimation()' 'async' to allow actor-isolated conformances
21 |
22 |     // MARK: - Event methods
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-bottom-sheet-drawer/BottomSheet.swift:267:10: warning: main actor-isolated instance method 'onPositionChanged' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
265 |     /// - Parameter fn: callback to react
266 |     /// - Returns: View
267 |     func onPositionChanged(_ fn: @escaping (BottomSheetPosition) -> ()) -> some View {
    |          |- warning: main actor-isolated instance method 'onPositionChanged' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
    |          `- note: add 'nonisolated' to 'onPositionChanged' to make this instance method not isolated to the actor
268 |         self.onPreferenceChange(BottomSheetPositionKey.self) {
269 |             fn($0)
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-bottom-sheet-drawer/protocol/IBottomSheetView.swift:25:10: note: mark the protocol requirement 'onPositionChanged' 'async' to allow actor-isolated conformances
23 |
24 |     /// Handler for changing the sheet position
25 |     func onPositionChanged(_ fn: @escaping (BottomSheetPosition) -> ()) -> V
   |          `- note: mark the protocol requirement 'onPositionChanged' 'async' to allow actor-isolated conformances
26 |
27 | }
Build complete! (18.46s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "swiftui-bottom-sheet-drawer",
  "name" : "swiftui-bottom-sheet-drawer",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12"
    },
    {
      "name" : "ios",
      "version" : "15"
    },
    {
      "name" : "tvos",
      "version" : "15"
    },
    {
      "name" : "watchos",
      "version" : "6"
    }
  ],
  "products" : [
    {
      "name" : "swiftui-bottom-sheet-drawer",
      "targets" : [
        "swiftui-bottom-sheet-drawer"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "swiftui_bottom_sheet_drawerTests",
      "module_type" : "SwiftTarget",
      "name" : "swiftui-bottom-sheet-drawerTests",
      "path" : "Tests/swiftui-bottom-sheet-drawerTests",
      "sources" : [
        "swiftui_bottom_sheet_drawerTests.swift"
      ],
      "target_dependencies" : [
        "swiftui-bottom-sheet-drawer"
      ],
      "type" : "test"
    },
    {
      "c99name" : "swiftui_bottom_sheet_drawer",
      "module_type" : "SwiftTarget",
      "name" : "swiftui-bottom-sheet-drawer",
      "path" : "Sources/swiftui-bottom-sheet-drawer",
      "product_memberships" : [
        "swiftui-bottom-sheet-drawer"
      ],
      "sources" : [
        "BottomSheet.swift",
        "enum/BottomSheetPosition.swift",
        "ext/Comparable+clamped.swift",
        "ext/View+MessureSize.swift",
        "key/BottomSheetPositionKey.swift",
        "key/SizePreferenceKey.swift",
        "protocol/IBottomSheetView.swift",
        "shape/RoundedCornersShape.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
Done.