Build Information
Successful build of LibDCSwift, reference main (cef1a8), with Swift 6.1 for macOS (SPM) on 8 Dec 2025 14:43:54 UTC.
Swift 6 data race errors: 10
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 InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/deepsealabs/libdc-swift.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/deepsealabs/libdc-swift
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at cef1a84 update: changelog.md
Cloned https://github.com/deepsealabs/libdc-swift.git
Revision (git rev-parse @):
cef1a847d168d03cd38893f3b0f9129046178fa7
SUCCESS checkout https://github.com/deepsealabs/libdc-swift.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/deepsealabs/libdc-swift.git
https://github.com/deepsealabs/libdc-swift.git
{
"dependencies" : [
],
"manifest_display_name" : "LibDCSwift",
"name" : "LibDCSwift",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "LibDCSwift",
"targets" : [
"LibDCSwift"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "LibDCBridge",
"targets" : [
"LibDCBridge"
],
"type" : {
"library" : [
"dynamic"
]
}
}
],
"targets" : [
{
"c99name" : "LibDCSwift",
"module_type" : "SwiftTarget",
"name" : "LibDCSwift",
"path" : "Sources/LibDCSwift",
"product_memberships" : [
"LibDCSwift"
],
"sources" : [
"BLEManager.swift",
"DiveLogRetriever.swift",
"LibDCSwift.swift",
"Logger.swift",
"Models/DeviceConfiguration.swift",
"Models/DeviceFingerprint.swift",
"Models/DiveData.swift",
"Models/SampleData.swift",
"Models/StoredDevice.swift",
"Parser/GenericParser.swift",
"ViewModels/DiveDataViewModel.swift"
],
"target_dependencies" : [
"LibDCBridge",
"Clibdivecomputer"
],
"type" : "library"
},
{
"c99name" : "LibDCBridge",
"module_type" : "ClangTarget",
"name" : "LibDCBridge",
"path" : "Sources/LibDCBridge",
"product_memberships" : [
"LibDCSwift",
"LibDCBridge"
],
"sources" : [
"src/BLEBridge.m",
"src/configuredc.c"
],
"target_dependencies" : [
"Clibdivecomputer"
],
"type" : "library"
},
{
"c99name" : "Clibdivecomputer",
"module_type" : "ClangTarget",
"name" : "Clibdivecomputer",
"path" : "libdivecomputer",
"product_memberships" : [
"LibDCSwift",
"LibDCBridge"
],
"sources" : [
"src/aes.c",
"src/array.c",
"src/atomics_cobalt.c",
"src/atomics_cobalt_parser.c",
"src/ble.c",
"src/bluetooth.c",
"src/buffer.c",
"src/checksum.c",
"src/citizen_aqualand.c",
"src/citizen_aqualand_parser.c",
"src/cochran_commander.c",
"src/cochran_commander_parser.c",
"src/common.c",
"src/context.c",
"src/cressi_edy.c",
"src/cressi_edy_parser.c",
"src/cressi_goa.c",
"src/cressi_goa_parser.c",
"src/cressi_leonardo.c",
"src/cressi_leonardo_parser.c",
"src/custom.c",
"src/datetime.c",
"src/deepblu_cosmiq.c",
"src/deepblu_cosmiq_parser.c",
"src/deepsix_excursion.c",
"src/deepsix_excursion_parser.c",
"src/descriptor.c",
"src/device.c",
"src/diverite_nitekq.c",
"src/diverite_nitekq_parser.c",
"src/divesoft_freedom.c",
"src/divesoft_freedom_parser.c",
"src/divesystem_idive.c",
"src/divesystem_idive_parser.c",
"src/halcyon_symbios.c",
"src/halcyon_symbios_parser.c",
"src/hdlc.c",
"src/hw_frog.c",
"src/hw_ostc.c",
"src/hw_ostc3.c",
"src/hw_ostc_parser.c",
"src/ihex.c",
"src/iostream.c",
"src/irda.c",
"src/iterator.c",
"src/liquivision_lynx.c",
"src/liquivision_lynx_parser.c",
"src/mares_common.c",
"src/mares_darwin.c",
"src/mares_darwin_parser.c",
"src/mares_iconhd.c",
"src/mares_iconhd_parser.c",
"src/mares_nemo.c",
"src/mares_nemo_parser.c",
"src/mares_puck.c",
"src/mclean_extreme.c",
"src/mclean_extreme_parser.c",
"src/oceanic_atom2.c",
"src/oceanic_atom2_parser.c",
"src/oceanic_common.c",
"src/oceanic_veo250.c",
"src/oceanic_veo250_parser.c",
"src/oceanic_vtpro.c",
"src/oceanic_vtpro_parser.c",
"src/oceans_s1.c",
"src/oceans_s1_common.c",
"src/oceans_s1_parser.c",
"src/packet.c",
"src/parser.c",
"src/pelagic_i330r.c",
"src/platform.c",
"src/rbstream.c",
"src/reefnet_sensus.c",
"src/reefnet_sensus_parser.c",
"src/reefnet_sensuspro.c",
"src/reefnet_sensuspro_parser.c",
"src/reefnet_sensusultra.c",
"src/reefnet_sensusultra_parser.c",
"src/ringbuffer.c",
"src/seac_screen.c",
"src/seac_screen_common.c",
"src/seac_screen_parser.c",
"src/serial_posix.c",
"src/shearwater_common.c",
"src/shearwater_petrel.c",
"src/shearwater_predator.c",
"src/shearwater_predator_parser.c",
"src/socket.c",
"src/sporasub_sp2.c",
"src/sporasub_sp2_parser.c",
"src/suunto_common.c",
"src/suunto_common2.c",
"src/suunto_d9.c",
"src/suunto_d9_parser.c",
"src/suunto_eon.c",
"src/suunto_eon_parser.c",
"src/suunto_eonsteel.c",
"src/suunto_eonsteel_parser.c",
"src/suunto_solution.c",
"src/suunto_solution_parser.c",
"src/suunto_vyper.c",
"src/suunto_vyper2.c",
"src/suunto_vyper_parser.c",
"src/tecdiving_divecomputereu.c",
"src/tecdiving_divecomputereu_parser.c",
"src/timer.c",
"src/usb.c",
"src/usbhid.c",
"src/uwatec_aladin.c",
"src/uwatec_memomouse.c",
"src/uwatec_memomouse_parser.c",
"src/uwatec_smart.c",
"src/uwatec_smart_parser.c",
"src/version.c",
"src/zeagle_n2ition3.c"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/serial_win32.c': File not found.
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/libdivecomputer/doc': File not found.
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/libdivecomputer/m4': File not found.
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/121] Compiling checksum.c
[1/121] Write swift-version-2F0A5646E1D333AE.txt
[2/121] Write sources
[3/121] Compiling ble.c
[4/121] Compiling buffer.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/deepsix_excursion_parser.c:30:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[5/121] Compiling deepsix_excursion_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/divesoft_freedom_parser.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[6/121] Compiling divesoft_freedom_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/deepblu_cosmiq_parser.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[7/121] Compiling deepblu_cosmiq_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/deepsix_excursion.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[8/121] Compiling deepsix_excursion.c
[9/121] Compiling version.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/uwatec_memomouse_parser.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[10/121] Compiling uwatec_memomouse_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/uwatec_smart_parser.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[11/121] Compiling uwatec_smart_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/uwatec_smart.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[12/121] Compiling uwatec_smart.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/zeagle_n2ition3.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[13/121] Compiling zeagle_n2ition3.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/divesoft_freedom.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[14/121] Compiling divesoft_freedom.c
[15/121] Compiling descriptor.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/uwatec_memomouse.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[16/121] Compiling uwatec_memomouse.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/uwatec_aladin.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[17/121] Compiling uwatec_aladin.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/usb.c:40:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[18/121] Compiling usb.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/tecdiving_divecomputereu_parser.c:25:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[19/121] Compiling tecdiving_divecomputereu_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/suunto_vyper_parser.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[20/121] Compiling suunto_vyper_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/tecdiving_divecomputereu.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[21/121] Compiling tecdiving_divecomputereu.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/usbhid.c:58:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[22/121] Compiling usbhid.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/suunto_vyper2.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[23/121] Compiling suunto_vyper2.c
[24/121] Compiling configuredc.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/suunto_solution_parser.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[25/121] Compiling suunto_solution_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/suunto_vyper.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[26/121] Compiling suunto_vyper.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/suunto_solution.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[27/121] Compiling suunto_solution.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/suunto_eon_parser.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[28/121] Compiling suunto_eon_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/suunto_eonsteel.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[29/121] Compiling suunto_eonsteel.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/suunto_eonsteel_parser.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[30/121] Compiling suunto_eonsteel_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/suunto_eon.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[31/121] Compiling suunto_eon.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/suunto_d9.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[32/121] Compiling suunto_d9.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/suunto_d9_parser.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[33/121] Compiling suunto_d9_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/suunto_common2.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[34/121] Compiling suunto_common2.c
[35/121] Compiling suunto_common.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/sporasub_sp2_parser.c:25:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[36/121] Compiling sporasub_sp2_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/sporasub_sp2.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[37/121] Compiling sporasub_sp2.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/shearwater_predator.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[38/121] Compiling shearwater_predator.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/shearwater_petrel.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[39/121] Compiling shearwater_petrel.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/shearwater_predator_parser.c:29:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[40/121] Compiling shearwater_predator_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/shearwater_common.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[41/121] Compiling shearwater_common.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/seac_screen_parser.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[42/121] Compiling seac_screen_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/seac_screen_common.c:23:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[43/121] Compiling seac_screen_common.c
[44/121] Compiling ringbuffer.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/reefnet_sensusultra_parser.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[45/121] Compiling reefnet_sensusultra_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/seac_screen.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[46/121] Compiling seac_screen.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/reefnet_sensuspro_parser.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[47/121] Compiling reefnet_sensuspro_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/reefnet_sensusultra.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[48/121] Compiling reefnet_sensusultra.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/reefnet_sensuspro.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[49/121] Compiling reefnet_sensuspro.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/reefnet_sensus_parser.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[50/121] Compiling reefnet_sensus_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/reefnet_sensus.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[51/121] Compiling reefnet_sensus.c
[52/121] Compiling platform.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/rbstream.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[53/121] Compiling rbstream.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/pelagic_i330r.c:31:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[54/121] Compiling pelagic_i330r.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/packet.c:29:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[55/121] Compiling packet.c
[56/121] Compiling oceans_s1_common.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/parser.c:70:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[57/121] Compiling parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/oceans_s1_parser.c:29:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[58/121] Compiling oceans_s1_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/oceans_s1.c:30:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[59/121] Compiling oceans_s1.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/oceanic_vtpro_parser.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[60/121] Compiling oceanic_vtpro_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/oceanic_veo250_parser.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[61/121] Compiling oceanic_veo250_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/oceanic_vtpro.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[62/121] Compiling oceanic_vtpro.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/oceanic_veo250.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[63/121] Compiling oceanic_veo250.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/oceanic_common.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[64/121] Compiling oceanic_common.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/oceanic_atom2_parser.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[65/121] Compiling oceanic_atom2_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/mclean_extreme_parser.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[66/121] Compiling mclean_extreme_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/oceanic_atom2.c:29:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[67/121] Compiling oceanic_atom2.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/mclean_extreme.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[68/121] Compiling mclean_extreme.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/mares_puck.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[69/121] Compiling mares_puck.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/mares_nemo_parser.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[70/121] Compiling mares_nemo_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/mares_nemo.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[71/121] Compiling mares_nemo.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/mares_iconhd_parser.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[72/121] Compiling mares_iconhd_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/mares_darwin_parser.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[73/121] Compiling mares_darwin_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/mares_iconhd.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[74/121] Compiling mares_iconhd.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/mares_darwin.c:30:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[75/121] Compiling mares_darwin.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/mares_common.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[76/121] Compiling mares_common.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/bluetooth.c:51:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[77/121] Compiling bluetooth.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/liquivision_lynx_parser.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[78/121] Compiling liquivision_lynx_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/iterator.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[79/121] Compiling iterator.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/liquivision_lynx.c:29:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[80/121] Compiling liquivision_lynx.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/irda.c:47:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/iostream.c:29:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[81/121] Compiling iostream.c
[82/121] Compiling irda.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/ihex.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[83/121] Compiling ihex.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/serial_posix.c:57:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[84/121] Compiling serial_posix.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/hw_ostc_parser.c:29:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/hw_ostc.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[85/121] Compiling hw_ostc_parser.c
[85/121] Compiling hw_ostc.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/hdlc.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[87/121] Compiling hdlc.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/hw_ostc3.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/hw_frog.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[88/121] Compiling hw_ostc3.c
[88/121] Compiling hw_frog.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/halcyon_symbios_parser.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[90/121] Compiling halcyon_symbios_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/halcyon_symbios.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[91/121] Compiling halcyon_symbios.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/socket.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[92/121] Compiling socket.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/divesystem_idive.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[93/121] Compiling divesystem_idive.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/divesystem_idive_parser.c:25:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[94/121] Compiling divesystem_idive_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/diverite_nitekq_parser.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[95/121] Compiling diverite_nitekq_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/diverite_nitekq.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[96/121] Compiling diverite_nitekq.c
[97/121] Compiling datetime.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/device.c:72:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[98/121] Compiling device.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/deepblu_cosmiq.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[99/121] Compiling deepblu_cosmiq.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/custom.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[100/121] Compiling custom.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/cressi_leonardo_parser.c:25:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[101/121] Compiling cressi_leonardo_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/cressi_leonardo.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[102/121] Compiling cressi_leonardo.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/cressi_goa_parser.c:25:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[103/121] Compiling cressi_goa_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/cressi_goa.c:29:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[104/121] Compiling cressi_goa.c
[105/121] Compiling common.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context.c:37:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[106/121] Compiling context.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/cressi_edy_parser.c:25:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[107/121] Compiling cressi_edy_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/cressi_edy.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[108/121] Compiling cressi_edy.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/cochran_commander_parser.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[109/121] Compiling cochran_commander_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/cochran_commander.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[110/121] Compiling cochran_commander.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/citizen_aqualand.c:26:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[111/121] Compiling citizen_aqualand.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/citizen_aqualand_parser.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[112/121] Compiling citizen_aqualand_parser.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/atomics_cobalt_parser.c:27:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[113/121] Compiling atomics_cobalt_parser.c
[114/121] Compiling array.c
In file included from /Users/admin/builder/spi-builder-workspace/libdivecomputer/src/atomics_cobalt.c:28:
/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/context-private.h:58:9: warning: 'DEBUG' macro redefined [-Wmacro-redefined]
58 | #define DEBUG(context, ...) UNUSED(context)
| ^
<command line>:2:9: note: previous definition is here
2 | #define DEBUG 1
| ^
1 warning generated.
[115/121] Compiling atomics_cobalt.c
[116/121] Compiling aes.c
[117/121] Compiling timer.c
[118/121] Compiling BLEBridge.m
[119/121] Write Objects.LinkFileList
[120/132] Linking libLibDCBridge.dylib
[122/132] Compiling LibDCSwift LibDCSwift.swift
[123/132] Compiling LibDCSwift DeviceFingerprint.swift
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/Models/DeviceFingerprint.swift:24:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DeviceFingerprintStorage' may have shared mutable state; this is an error in the Swift 6 language mode
21 |
22 | /// Manages persistent storage of device fingerprints
23 | public class DeviceFingerprintStorage {
| `- note: class 'DeviceFingerprintStorage' does not conform to the 'Sendable' protocol
24 | public static let shared = DeviceFingerprintStorage()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DeviceFingerprintStorage' 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
25 | private let fingerprintKey = "DeviceFingerprints"
26 |
[124/133] Compiling LibDCSwift DeviceConfiguration.swift
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/Models/DeviceConfiguration.swift:71:24: warning: static property 'knownServiceUUIDs' is not concurrency-safe because non-'Sendable' type '[CBUUID]' may have shared mutable state; this is an error in the Swift 6 language mode
69 | /// Known BLE service UUIDs for supported dive computers.
70 | /// Used for device discovery and identification.
71 | private static let knownServiceUUIDs: [CBUUID] = [
| `- warning: static property 'knownServiceUUIDs' is not concurrency-safe because non-'Sendable' type '[CBUUID]' may have shared mutable state; this is an error in the Swift 6 language mode
72 | CBUUID(string: "0000fefb-0000-1000-8000-00805f9b34fb"), // Heinrichs-Weikamp Telit/Stollmann
73 | CBUUID(string: "2456e1b9-26e2-8f83-e744-f34f01e9d701"), // Heinrichs-Weikamp U-Blox
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
83 | */
84 | NS_CLASS_AVAILABLE(10_7, 5_0)
85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
| `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
86 |
87 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/Models/DeviceConfiguration.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
1 | import Foundation
2 | import CoreBluetooth
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
3 | import Clibdivecomputer
4 | import LibDCBridge
:
69 | /// Known BLE service UUIDs for supported dive computers.
70 | /// Used for device discovery and identification.
71 | private static let knownServiceUUIDs: [CBUUID] = [
| |- note: add '@MainActor' to make static property 'knownServiceUUIDs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
72 | CBUUID(string: "0000fefb-0000-1000-8000-00805f9b34fb"), // Heinrichs-Weikamp Telit/Stollmann
73 | CBUUID(string: "2456e1b9-26e2-8f83-e744-f34f01e9d701"), // Heinrichs-Weikamp U-Blox
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/Models/DeviceConfiguration.swift:167:24: warning: static property 'context' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
165 |
166 | private var descriptor: OpaquePointer?
167 | private static var context: OpaquePointer?
| |- warning: static property 'context' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'context' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'context' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
168 |
169 | /// Setup the shared device context
[125/133] Emitting module LibDCSwift
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:38:24: warning: static property 'sharedInstance' is not concurrency-safe because non-'Sendable' type 'CoreBluetoothManager' may have shared mutable state; this is an error in the Swift 6 language mode
34 | /// Manages device discovery, connection, and data transfer with BLE dive computers.
35 | @objc(CoreBluetoothManager)
36 | public class CoreBluetoothManager: NSObject, CoreBluetoothManagerProtocol, ObservableObject, CBCentralManagerDelegate, CBPeripheralDelegate {
| `- note: class 'CoreBluetoothManager' does not conform to the 'Sendable' protocol
37 | // MARK: - Singleton
38 | private static let sharedInstance = CoreBluetoothManager()
| |- warning: static property 'sharedInstance' is not concurrency-safe because non-'Sendable' type 'CoreBluetoothManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sharedInstance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 |
40 | @objc public static func shared() -> Any! {
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:158:24: warning: static property 'currentContext' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
156 | }
157 |
158 | private static var currentContext: CallbackContext?
| |- warning: static property 'currentContext' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'currentContext' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'currentContext' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
159 |
160 | /// Retrieves dive logs from a connected dive computer.
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/Logger.swift:20:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
17 | }
18 |
19 | public class Logger {
| `- note: class 'Logger' does not conform to the 'Sendable' protocol
20 | public static let shared = Logger()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' 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
21 | private var isEnabled = true
22 | private var minLevel: LogLevel = .debug
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/Models/DeviceConfiguration.swift:71:24: warning: static property 'knownServiceUUIDs' is not concurrency-safe because non-'Sendable' type '[CBUUID]' may have shared mutable state; this is an error in the Swift 6 language mode
69 | /// Known BLE service UUIDs for supported dive computers.
70 | /// Used for device discovery and identification.
71 | private static let knownServiceUUIDs: [CBUUID] = [
| `- warning: static property 'knownServiceUUIDs' is not concurrency-safe because non-'Sendable' type '[CBUUID]' may have shared mutable state; this is an error in the Swift 6 language mode
72 | CBUUID(string: "0000fefb-0000-1000-8000-00805f9b34fb"), // Heinrichs-Weikamp Telit/Stollmann
73 | CBUUID(string: "2456e1b9-26e2-8f83-e744-f34f01e9d701"), // Heinrichs-Weikamp U-Blox
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBUUID.h:85:28: note: class 'CBUUID' does not conform to the 'Sendable' protocol
83 | */
84 | NS_CLASS_AVAILABLE(10_7, 5_0)
85 | CB_EXTERN_CLASS @interface CBUUID : NSObject <NSCopying>
| `- note: class 'CBUUID' does not conform to the 'Sendable' protocol
86 |
87 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/Models/DeviceConfiguration.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
1 | import Foundation
2 | import CoreBluetooth
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
3 | import Clibdivecomputer
4 | import LibDCBridge
:
69 | /// Known BLE service UUIDs for supported dive computers.
70 | /// Used for device discovery and identification.
71 | private static let knownServiceUUIDs: [CBUUID] = [
| |- note: add '@MainActor' to make static property 'knownServiceUUIDs' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
72 | CBUUID(string: "0000fefb-0000-1000-8000-00805f9b34fb"), // Heinrichs-Weikamp Telit/Stollmann
73 | CBUUID(string: "2456e1b9-26e2-8f83-e744-f34f01e9d701"), // Heinrichs-Weikamp U-Blox
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/Models/DeviceConfiguration.swift:167:24: warning: static property 'context' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
165 |
166 | private var descriptor: OpaquePointer?
167 | private static var context: OpaquePointer?
| |- warning: static property 'context' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'context' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'context' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
168 |
169 | /// Setup the shared device context
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/Models/DeviceFingerprint.swift:24:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DeviceFingerprintStorage' may have shared mutable state; this is an error in the Swift 6 language mode
21 |
22 | /// Manages persistent storage of device fingerprints
23 | public class DeviceFingerprintStorage {
| `- note: class 'DeviceFingerprintStorage' does not conform to the 'Sendable' protocol
24 | public static let shared = DeviceFingerprintStorage()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DeviceFingerprintStorage' 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
25 | private let fingerprintKey = "DeviceFingerprints"
26 |
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/Models/StoredDevice.swift:51:22: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DeviceStorage' may have shared mutable state; this is an error in the Swift 6 language mode
48 | }
49 |
50 | @objc public class DeviceStorage: NSObject {
| `- note: class 'DeviceStorage' does not conform to the 'Sendable' protocol
51 | public static let shared = DeviceStorage()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DeviceStorage' 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
52 |
53 | private let defaults = UserDefaults.standard
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/ViewModels/DiveDataViewModel.swift:34:29: warning: static property 'activeInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
32 |
33 | private let fingerprintKey = "DeviceFingerprints"
34 | private static weak var activeInstance: DiveDataViewModel?
| |- warning: static property 'activeInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'activeInstance' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'activeInstance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 | public weak var persistence: DiveDataPersistence?
36 |
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:99:21: warning: sending 'context' risks causing data races; this is an error in the Swift 6 language mode
97 |
98 | DispatchQueue.main.async {
99 | context.viewModel.appendDives([diveData])
| |- warning: sending 'context' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'context' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
100 | context.viewModel.updateProgress(count: context.logCount)
101 | logInfo("✅ Parsed dive #\(context.logCount - 1)")
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:99:52: warning: sending 'diveData' risks causing data races; this is an error in the Swift 6 language mode
97 |
98 | DispatchQueue.main.async {
99 | context.viewModel.appendDives([diveData])
| |- warning: sending 'diveData' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'diveData' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
100 | context.viewModel.updateProgress(count: context.logCount)
101 | logInfo("✅ Parsed dive #\(context.logCount - 1)")
[126/133] Compiling LibDCSwift BLEManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:38:24: warning: static property 'sharedInstance' is not concurrency-safe because non-'Sendable' type 'CoreBluetoothManager' may have shared mutable state; this is an error in the Swift 6 language mode
34 | /// Manages device discovery, connection, and data transfer with BLE dive computers.
35 | @objc(CoreBluetoothManager)
36 | public class CoreBluetoothManager: NSObject, CoreBluetoothManagerProtocol, ObservableObject, CBCentralManagerDelegate, CBPeripheralDelegate {
| `- note: class 'CoreBluetoothManager' does not conform to the 'Sendable' protocol
37 | // MARK: - Singleton
38 | private static let sharedInstance = CoreBluetoothManager()
| |- warning: static property 'sharedInstance' is not concurrency-safe because non-'Sendable' type 'CoreBluetoothManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sharedInstance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 |
40 | @objc public static func shared() -> Any! {
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:158:24: warning: static property 'currentContext' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
156 | }
157 |
158 | private static var currentContext: CallbackContext?
| |- warning: static property 'currentContext' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'currentContext' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'currentContext' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
159 |
160 | /// Retrieves dive logs from a connected dive computer.
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:181:17: warning: capture of 'viewModel' with non-sendable type 'DiveDataViewModel' in a '@Sendable' closure
179 | // Reset only progress at start of new retrieval
180 | DispatchQueue.main.async {
181 | viewModel.resetProgress()
| `- warning: capture of 'viewModel' with non-sendable type 'DiveDataViewModel' in a '@Sendable' closure
182 | }
183 |
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/ViewModels/DiveDataViewModel.swift:16:14: note: class 'DiveDataViewModel' does not conform to the 'Sendable' protocol
14 | /// View model for managing dive data and device fingerprints.
15 | /// Handles storage, retrieval, and state management for dive logs and device identification.
16 | public class DiveDataViewModel: ObservableObject {
| `- note: class 'DiveDataViewModel' does not conform to the 'Sendable' protocol
17 | @Published public var dives: [DiveData] = []
18 | @Published public var status: String = ""
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:184:34: warning: capture of 'devicePtr' with non-sendable type 'UnsafeMutablePointer<device_data_t>' in a '@Sendable' closure
182 | }
183 |
184 | guard let dcDevice = devicePtr.pointee.device else {
| `- warning: capture of 'devicePtr' with non-sendable type 'UnsafeMutablePointer<device_data_t>' in a '@Sendable' closure
185 | DispatchQueue.main.async {
186 | viewModel.setDetailedError("No device connection found", status: DC_STATUS_IO)
Swift.UnsafeMutablePointer:1:23: note: generic struct 'UnsafeMutablePointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafeMutablePointer<Pointee> : Copyable where Pointee : ~Copyable {
| `- note: generic struct 'UnsafeMutablePointer' does not conform to the 'Sendable' protocol
2 | public let _rawValue: Builtin.RawPointer
3 | public init(_ _rawValue: Builtin.RawPointer)
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:187:21: warning: capture of 'completion' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
185 | DispatchQueue.main.async {
186 | viewModel.setDetailedError("No device connection found", status: DC_STATUS_IO)
187 | completion(false)
| |- warning: capture of 'completion' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
188 | }
189 | return
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:193:30: warning: capture of 'device' with non-sendable type 'CBPeripheral' in a '@Sendable' closure
191 |
192 | // Get device info for fingerprint lookup
193 | let deviceName = device.name ?? "Unknown Device"
| `- warning: capture of 'device' with non-sendable type 'CBPeripheral' in a '@Sendable' closure
194 | let deviceSerial: String? = if devicePtr.pointee.have_devinfo != 0 {
195 | String(format: "%08x", devicePtr.pointee.devinfo.serial)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:55:28: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
53 | */
54 | NS_CLASS_AVAILABLE(10_7, 5_0)
55 | CB_EXTERN_CLASS @interface CBPeripheral : CBPeer
| `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
56 |
57 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
1 | import Foundation
2 | import CoreBluetooth
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
3 | import Clibdivecomputer
4 | import LibDCBridge
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:220:35: warning: capture of 'bluetoothManager' with non-sendable type 'CoreBluetoothManager' in a '@Sendable' closure
218 | deviceName: deviceName,
219 | storedFingerprint: storedFingerprint,
220 | bluetoothManager: bluetoothManager
| `- warning: capture of 'bluetoothManager' with non-sendable type 'CoreBluetoothManager' in a '@Sendable' closure
221 | )
222 | context.devicePtr = devicePtr
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:36:14: note: class 'CoreBluetoothManager' does not conform to the 'Sendable' protocol
34 | /// Manages device discovery, connection, and data transfer with BLE dive computers.
35 | @objc(CoreBluetoothManager)
36 | public class CoreBluetoothManager: NSObject, CoreBluetoothManagerProtocol, ObservableObject, CBCentralManagerDelegate, CBPeripheralDelegate {
| `- note: class 'CoreBluetoothManager' does not conform to the 'Sendable' protocol
37 | // MARK: - Singleton
38 | private static let sharedInstance = CoreBluetoothManager()
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:229:21: warning: capture of 'onProgress' with non-sendable type '((Int, Int) -> Void)?' in a '@Sendable' closure
227 | let progressTimer = Timer.scheduledTimer(withTimeInterval: 0.25, repeats: true) { _ in
228 | if devicePtr.pointee.have_progress != 0 {
229 | onProgress?(
| |- warning: capture of 'onProgress' with non-sendable type '((Int, Int) -> Void)?' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
230 | Int(devicePtr.pointee.progress.current),
231 | Int(devicePtr.pointee.progress.maximum)
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:228:20: warning: capture of 'devicePtr' with non-sendable type 'UnsafeMutablePointer<device_data_t>' in a '@Sendable' closure
226 |
227 | let progressTimer = Timer.scheduledTimer(withTimeInterval: 0.25, repeats: true) { _ in
228 | if devicePtr.pointee.have_progress != 0 {
| `- warning: capture of 'devicePtr' with non-sendable type 'UnsafeMutablePointer<device_data_t>' in a '@Sendable' closure
229 | onProgress?(
230 | Int(devicePtr.pointee.progress.current),
Swift.UnsafeMutablePointer:1:23: note: generic struct 'UnsafeMutablePointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafeMutablePointer<Pointee> : Copyable where Pointee : ~Copyable {
| `- note: generic struct 'UnsafeMutablePointer' does not conform to the 'Sendable' protocol
2 | public let _rawValue: Builtin.RawPointer
3 | public init(_ _rawValue: Builtin.RawPointer)
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:229:21: warning: capture of 'onProgress' with non-sendable type '((Int, Int) -> Void)?' in a '@Sendable' closure
227 | let progressTimer = Timer.scheduledTimer(withTimeInterval: 0.25, repeats: true) { _ in
228 | if devicePtr.pointee.have_progress != 0 {
229 | onProgress?(
| |- warning: capture of 'onProgress' with non-sendable type '((Int, Int) -> Void)?' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
230 | Int(devicePtr.pointee.progress.current),
231 | Int(devicePtr.pointee.progress.maximum)
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:215:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
213 | isDisconnecting = true
214 | DispatchQueue.main.async {
215 | self.isPeripheralReady = false
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
216 | self.connectedDevice = nil
217 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:247:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
245 |
246 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
247 | self.isDisconnecting = false
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
248 | }
249 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:290:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
288 | logDebug("🧹 Clearing retrieval state")
289 | DispatchQueue.main.async { [weak self] in
290 | self?.isRetrievingLogs = false
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
291 | self?.currentRetrievalDevice = nil
292 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:340:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
338 | logInfo("Performing system-level disconnect for \(peripheral.name ?? "Unknown Device")")
339 | DispatchQueue.main.async {
340 | self.isPeripheralReady = false
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
341 | self.connectedDevice = nil
342 | self.writeCharacteristic = nil
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:351:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
349 | public func clearDiscoveredPeripherals() {
350 | DispatchQueue.main.async {
351 | self.discoveredPeripherals.removeAll()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
352 | }
353 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:357:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
355 | public func addDiscoveredPeripheral(_ peripheral: CBPeripheral) {
356 | DispatchQueue.main.async {
357 | if !self.discoveredPeripherals.contains(where: { $0.identifier == peripheral.identifier }) {
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
358 | self.discoveredPeripherals.append(peripheral)
359 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:357:79: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
355 | public func addDiscoveredPeripheral(_ peripheral: CBPeripheral) {
356 | DispatchQueue.main.async {
357 | if !self.discoveredPeripherals.contains(where: { $0.identifier == peripheral.identifier }) {
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'peripheral' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
358 | self.discoveredPeripherals.append(peripheral)
359 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:404:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
402 | peripheral.delegate = self
403 | DispatchQueue.main.async {
404 | self.isPeripheralReady = true
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
405 | self.connectedDevice = peripheral
406 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:405:36: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
403 | DispatchQueue.main.async {
404 | self.isPeripheralReady = true
405 | self.connectedDevice = peripheral
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'peripheral' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
406 | }
407 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:420:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
418 |
419 | DispatchQueue.main.async {
420 | self.isPeripheralReady = false
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
421 | self.connectedDevice = nil
422 |
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:426:82: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
424 | if !self.isDisconnecting {
425 | // Attempt to reconnect if this was a stored device
426 | if let storedDevice = DeviceStorage.shared.getStoredDevice(uuid: peripheral.identifier.uuidString) {
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'peripheral' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
427 | logInfo("Attempting to reconnect to stored device")
428 | _ = DeviceConfiguration.openBLEDevice(
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:99:21: warning: sending 'context' risks causing data races; this is an error in the Swift 6 language mode
97 |
98 | DispatchQueue.main.async {
99 | context.viewModel.appendDives([diveData])
| |- warning: sending 'context' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'context' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
100 | context.viewModel.updateProgress(count: context.logCount)
101 | logInfo("✅ Parsed dive #\(context.logCount - 1)")
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:99:52: warning: sending 'diveData' risks causing data races; this is an error in the Swift 6 language mode
97 |
98 | DispatchQueue.main.async {
99 | context.viewModel.appendDives([diveData])
| |- warning: sending 'diveData' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'diveData' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
100 | context.viewModel.updateProgress(count: context.logCount)
101 | logInfo("✅ Parsed dive #\(context.logCount - 1)")
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:245:21: warning: sending 'viewModel' risks causing data races; this is an error in the Swift 6 language mode
241 |
242 | progressTimer.invalidate()
243 | DispatchQueue.main.async {
| `- note: access can happen concurrently
244 | if enumStatus != DC_STATUS_SUCCESS {
245 | viewModel.setDetailedError("Download incomplete", status: enumStatus)
| |- warning: sending 'viewModel' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'viewModel' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
246 | completion(false)
247 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:248:24: warning: sending 'context' risks causing data races; this is an error in the Swift 6 language mode
241 |
242 | progressTimer.invalidate()
243 | DispatchQueue.main.async {
| `- note: access can happen concurrently
244 | if enumStatus != DC_STATUS_SUCCESS {
245 | viewModel.setDetailedError("Download incomplete", status: enumStatus)
246 | completion(false)
247 | } else {
248 | if context.hasNewDives {
| |- warning: sending 'context' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'context' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
249 | if let lastFingerprint = context.lastFingerprint,
250 | let deviceSerial = context.deviceSerial {
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:271:55: warning: sending 'contextPtr' risks causing data races; this is an error in the Swift 6 language mode
269 |
270 | context.isCompleted = true
271 | Unmanaged<CallbackContext>.fromOpaque(contextPtr).release()
| |- warning: sending 'contextPtr' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'contextPtr' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
272 |
273 | #if os(iOS)
:
276 | }
277 |
278 | currentContext = context
| `- note: access can happen concurrently
279 | }
280 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:181:17: warning: sending 'viewModel' risks causing data races; this is an error in the Swift 6 language mode
179 | // Reset only progress at start of new retrieval
180 | DispatchQueue.main.async {
181 | viewModel.resetProgress()
| |- warning: sending 'viewModel' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'viewModel' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
182 | }
183 |
184 | guard let dcDevice = devicePtr.pointee.device else {
185 | DispatchQueue.main.async {
| `- note: access can happen concurrently
186 | viewModel.setDetailedError("No device connection found", status: DC_STATUS_IO)
187 | completion(false)
:
200 | // Only pass stored fingerprint if we want to use it (toggle is ON)
201 | let storedFingerprint: Data? = if let serial = deviceSerial {
202 | viewModel.getFingerprint(
| `- note: access can happen concurrently
203 | forDeviceType: deviceName,
204 | serial: serial
:
214 | }
215 |
216 | let context = CallbackContext(
| `- note: access can happen concurrently
217 | viewModel: viewModel,
218 | deviceName: deviceName,
[127/133] Compiling LibDCSwift DiveLogRetriever.swift
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:38:24: warning: static property 'sharedInstance' is not concurrency-safe because non-'Sendable' type 'CoreBluetoothManager' may have shared mutable state; this is an error in the Swift 6 language mode
34 | /// Manages device discovery, connection, and data transfer with BLE dive computers.
35 | @objc(CoreBluetoothManager)
36 | public class CoreBluetoothManager: NSObject, CoreBluetoothManagerProtocol, ObservableObject, CBCentralManagerDelegate, CBPeripheralDelegate {
| `- note: class 'CoreBluetoothManager' does not conform to the 'Sendable' protocol
37 | // MARK: - Singleton
38 | private static let sharedInstance = CoreBluetoothManager()
| |- warning: static property 'sharedInstance' is not concurrency-safe because non-'Sendable' type 'CoreBluetoothManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sharedInstance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 |
40 | @objc public static func shared() -> Any! {
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:158:24: warning: static property 'currentContext' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
156 | }
157 |
158 | private static var currentContext: CallbackContext?
| |- warning: static property 'currentContext' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'currentContext' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'currentContext' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
159 |
160 | /// Retrieves dive logs from a connected dive computer.
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:181:17: warning: capture of 'viewModel' with non-sendable type 'DiveDataViewModel' in a '@Sendable' closure
179 | // Reset only progress at start of new retrieval
180 | DispatchQueue.main.async {
181 | viewModel.resetProgress()
| `- warning: capture of 'viewModel' with non-sendable type 'DiveDataViewModel' in a '@Sendable' closure
182 | }
183 |
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/ViewModels/DiveDataViewModel.swift:16:14: note: class 'DiveDataViewModel' does not conform to the 'Sendable' protocol
14 | /// View model for managing dive data and device fingerprints.
15 | /// Handles storage, retrieval, and state management for dive logs and device identification.
16 | public class DiveDataViewModel: ObservableObject {
| `- note: class 'DiveDataViewModel' does not conform to the 'Sendable' protocol
17 | @Published public var dives: [DiveData] = []
18 | @Published public var status: String = ""
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:184:34: warning: capture of 'devicePtr' with non-sendable type 'UnsafeMutablePointer<device_data_t>' in a '@Sendable' closure
182 | }
183 |
184 | guard let dcDevice = devicePtr.pointee.device else {
| `- warning: capture of 'devicePtr' with non-sendable type 'UnsafeMutablePointer<device_data_t>' in a '@Sendable' closure
185 | DispatchQueue.main.async {
186 | viewModel.setDetailedError("No device connection found", status: DC_STATUS_IO)
Swift.UnsafeMutablePointer:1:23: note: generic struct 'UnsafeMutablePointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafeMutablePointer<Pointee> : Copyable where Pointee : ~Copyable {
| `- note: generic struct 'UnsafeMutablePointer' does not conform to the 'Sendable' protocol
2 | public let _rawValue: Builtin.RawPointer
3 | public init(_ _rawValue: Builtin.RawPointer)
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:187:21: warning: capture of 'completion' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
185 | DispatchQueue.main.async {
186 | viewModel.setDetailedError("No device connection found", status: DC_STATUS_IO)
187 | completion(false)
| |- warning: capture of 'completion' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
188 | }
189 | return
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:193:30: warning: capture of 'device' with non-sendable type 'CBPeripheral' in a '@Sendable' closure
191 |
192 | // Get device info for fingerprint lookup
193 | let deviceName = device.name ?? "Unknown Device"
| `- warning: capture of 'device' with non-sendable type 'CBPeripheral' in a '@Sendable' closure
194 | let deviceSerial: String? = if devicePtr.pointee.have_devinfo != 0 {
195 | String(format: "%08x", devicePtr.pointee.devinfo.serial)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:55:28: note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
53 | */
54 | NS_CLASS_AVAILABLE(10_7, 5_0)
55 | CB_EXTERN_CLASS @interface CBPeripheral : CBPeer
| `- note: class 'CBPeripheral' does not conform to the 'Sendable' protocol
56 |
57 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
1 | import Foundation
2 | import CoreBluetooth
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreBluetooth'
3 | import Clibdivecomputer
4 | import LibDCBridge
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:220:35: warning: capture of 'bluetoothManager' with non-sendable type 'CoreBluetoothManager' in a '@Sendable' closure
218 | deviceName: deviceName,
219 | storedFingerprint: storedFingerprint,
220 | bluetoothManager: bluetoothManager
| `- warning: capture of 'bluetoothManager' with non-sendable type 'CoreBluetoothManager' in a '@Sendable' closure
221 | )
222 | context.devicePtr = devicePtr
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:36:14: note: class 'CoreBluetoothManager' does not conform to the 'Sendable' protocol
34 | /// Manages device discovery, connection, and data transfer with BLE dive computers.
35 | @objc(CoreBluetoothManager)
36 | public class CoreBluetoothManager: NSObject, CoreBluetoothManagerProtocol, ObservableObject, CBCentralManagerDelegate, CBPeripheralDelegate {
| `- note: class 'CoreBluetoothManager' does not conform to the 'Sendable' protocol
37 | // MARK: - Singleton
38 | private static let sharedInstance = CoreBluetoothManager()
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:229:21: warning: capture of 'onProgress' with non-sendable type '((Int, Int) -> Void)?' in a '@Sendable' closure
227 | let progressTimer = Timer.scheduledTimer(withTimeInterval: 0.25, repeats: true) { _ in
228 | if devicePtr.pointee.have_progress != 0 {
229 | onProgress?(
| |- warning: capture of 'onProgress' with non-sendable type '((Int, Int) -> Void)?' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
230 | Int(devicePtr.pointee.progress.current),
231 | Int(devicePtr.pointee.progress.maximum)
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:228:20: warning: capture of 'devicePtr' with non-sendable type 'UnsafeMutablePointer<device_data_t>' in a '@Sendable' closure
226 |
227 | let progressTimer = Timer.scheduledTimer(withTimeInterval: 0.25, repeats: true) { _ in
228 | if devicePtr.pointee.have_progress != 0 {
| `- warning: capture of 'devicePtr' with non-sendable type 'UnsafeMutablePointer<device_data_t>' in a '@Sendable' closure
229 | onProgress?(
230 | Int(devicePtr.pointee.progress.current),
Swift.UnsafeMutablePointer:1:23: note: generic struct 'UnsafeMutablePointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafeMutablePointer<Pointee> : Copyable where Pointee : ~Copyable {
| `- note: generic struct 'UnsafeMutablePointer' does not conform to the 'Sendable' protocol
2 | public let _rawValue: Builtin.RawPointer
3 | public init(_ _rawValue: Builtin.RawPointer)
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:229:21: warning: capture of 'onProgress' with non-sendable type '((Int, Int) -> Void)?' in a '@Sendable' closure
227 | let progressTimer = Timer.scheduledTimer(withTimeInterval: 0.25, repeats: true) { _ in
228 | if devicePtr.pointee.have_progress != 0 {
229 | onProgress?(
| |- warning: capture of 'onProgress' with non-sendable type '((Int, Int) -> Void)?' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
230 | Int(devicePtr.pointee.progress.current),
231 | Int(devicePtr.pointee.progress.maximum)
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:215:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
213 | isDisconnecting = true
214 | DispatchQueue.main.async {
215 | self.isPeripheralReady = false
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
216 | self.connectedDevice = nil
217 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:247:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
245 |
246 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
247 | self.isDisconnecting = false
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
248 | }
249 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:290:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
288 | logDebug("🧹 Clearing retrieval state")
289 | DispatchQueue.main.async { [weak self] in
290 | self?.isRetrievingLogs = false
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
291 | self?.currentRetrievalDevice = nil
292 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:340:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
338 | logInfo("Performing system-level disconnect for \(peripheral.name ?? "Unknown Device")")
339 | DispatchQueue.main.async {
340 | self.isPeripheralReady = false
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
341 | self.connectedDevice = nil
342 | self.writeCharacteristic = nil
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:351:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
349 | public func clearDiscoveredPeripherals() {
350 | DispatchQueue.main.async {
351 | self.discoveredPeripherals.removeAll()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
352 | }
353 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:357:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
355 | public func addDiscoveredPeripheral(_ peripheral: CBPeripheral) {
356 | DispatchQueue.main.async {
357 | if !self.discoveredPeripherals.contains(where: { $0.identifier == peripheral.identifier }) {
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
358 | self.discoveredPeripherals.append(peripheral)
359 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:357:79: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
355 | public func addDiscoveredPeripheral(_ peripheral: CBPeripheral) {
356 | DispatchQueue.main.async {
357 | if !self.discoveredPeripherals.contains(where: { $0.identifier == peripheral.identifier }) {
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'peripheral' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
358 | self.discoveredPeripherals.append(peripheral)
359 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:404:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
402 | peripheral.delegate = self
403 | DispatchQueue.main.async {
404 | self.isPeripheralReady = true
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
405 | self.connectedDevice = peripheral
406 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:405:36: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
403 | DispatchQueue.main.async {
404 | self.isPeripheralReady = true
405 | self.connectedDevice = peripheral
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'peripheral' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
406 | }
407 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:420:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
418 |
419 | DispatchQueue.main.async {
420 | self.isPeripheralReady = false
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
421 | self.connectedDevice = nil
422 |
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/BLEManager.swift:426:82: warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
424 | if !self.isDisconnecting {
425 | // Attempt to reconnect if this was a stored device
426 | if let storedDevice = DeviceStorage.shared.getStoredDevice(uuid: peripheral.identifier.uuidString) {
| |- warning: sending 'peripheral' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'peripheral' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
427 | logInfo("Attempting to reconnect to stored device")
428 | _ = DeviceConfiguration.openBLEDevice(
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:99:21: warning: sending 'context' risks causing data races; this is an error in the Swift 6 language mode
97 |
98 | DispatchQueue.main.async {
99 | context.viewModel.appendDives([diveData])
| |- warning: sending 'context' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'context' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
100 | context.viewModel.updateProgress(count: context.logCount)
101 | logInfo("✅ Parsed dive #\(context.logCount - 1)")
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:99:52: warning: sending 'diveData' risks causing data races; this is an error in the Swift 6 language mode
97 |
98 | DispatchQueue.main.async {
99 | context.viewModel.appendDives([diveData])
| |- warning: sending 'diveData' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'diveData' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
100 | context.viewModel.updateProgress(count: context.logCount)
101 | logInfo("✅ Parsed dive #\(context.logCount - 1)")
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:245:21: warning: sending 'viewModel' risks causing data races; this is an error in the Swift 6 language mode
241 |
242 | progressTimer.invalidate()
243 | DispatchQueue.main.async {
| `- note: access can happen concurrently
244 | if enumStatus != DC_STATUS_SUCCESS {
245 | viewModel.setDetailedError("Download incomplete", status: enumStatus)
| |- warning: sending 'viewModel' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'viewModel' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
246 | completion(false)
247 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:248:24: warning: sending 'context' risks causing data races; this is an error in the Swift 6 language mode
241 |
242 | progressTimer.invalidate()
243 | DispatchQueue.main.async {
| `- note: access can happen concurrently
244 | if enumStatus != DC_STATUS_SUCCESS {
245 | viewModel.setDetailedError("Download incomplete", status: enumStatus)
246 | completion(false)
247 | } else {
248 | if context.hasNewDives {
| |- warning: sending 'context' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'context' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
249 | if let lastFingerprint = context.lastFingerprint,
250 | let deviceSerial = context.deviceSerial {
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:271:55: warning: sending 'contextPtr' risks causing data races; this is an error in the Swift 6 language mode
269 |
270 | context.isCompleted = true
271 | Unmanaged<CallbackContext>.fromOpaque(contextPtr).release()
| |- warning: sending 'contextPtr' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'contextPtr' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
272 |
273 | #if os(iOS)
:
276 | }
277 |
278 | currentContext = context
| `- note: access can happen concurrently
279 | }
280 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/DiveLogRetriever.swift:181:17: warning: sending 'viewModel' risks causing data races; this is an error in the Swift 6 language mode
179 | // Reset only progress at start of new retrieval
180 | DispatchQueue.main.async {
181 | viewModel.resetProgress()
| |- warning: sending 'viewModel' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'viewModel' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
182 | }
183 |
184 | guard let dcDevice = devicePtr.pointee.device else {
185 | DispatchQueue.main.async {
| `- note: access can happen concurrently
186 | viewModel.setDetailedError("No device connection found", status: DC_STATUS_IO)
187 | completion(false)
:
200 | // Only pass stored fingerprint if we want to use it (toggle is ON)
201 | let storedFingerprint: Data? = if let serial = deviceSerial {
202 | viewModel.getFingerprint(
| `- note: access can happen concurrently
203 | forDeviceType: deviceName,
204 | serial: serial
:
214 | }
215 |
216 | let context = CallbackContext(
| `- note: access can happen concurrently
217 | viewModel: viewModel,
218 | deviceName: deviceName,
[128/133] Compiling LibDCSwift DiveDataViewModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/ViewModels/DiveDataViewModel.swift:34:29: warning: static property 'activeInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
32 |
33 | private let fingerprintKey = "DeviceFingerprints"
34 | private static weak var activeInstance: DiveDataViewModel?
| |- warning: static property 'activeInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'activeInstance' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'activeInstance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 | public weak var persistence: DiveDataPersistence?
36 |
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/ViewModels/DiveDataViewModel.swift:223:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
221 | )
222 | DispatchQueue.main.async {
223 | self.dives.append(dive)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
224 | if case .inProgress = self.progress {
225 | self.progress = .inProgress(self.dives.count)
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/ViewModels/DiveDataViewModel.swift:233:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
231 | public func updateStatus(_ newStatus: String) {
232 | DispatchQueue.main.async {
233 | self.status = newStatus
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
234 | }
235 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/ViewModels/DiveDataViewModel.swift:239:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
237 | public func updateProgress(_ progress: DownloadProgress) {
238 | DispatchQueue.main.async {
239 | self.progress = progress
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
240 | }
241 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/ViewModels/DiveDataViewModel.swift:239:29: warning: sending 'progress' risks causing data races; this is an error in the Swift 6 language mode
237 | public func updateProgress(_ progress: DownloadProgress) {
238 | DispatchQueue.main.async {
239 | self.progress = progress
| |- warning: sending 'progress' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'progress' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
240 | }
241 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/ViewModels/DiveDataViewModel.swift:245:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
243 | public func updateProgress(count: Int) {
244 | DispatchQueue.main.async {
245 | self.status = "Downloading Dive #\(count)"
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
246 | self.progress = .inProgress(count)
247 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/ViewModels/DiveDataViewModel.swift:252:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
250 | public func setError(_ message: String) {
251 | DispatchQueue.main.async {
252 | self.progress = .failed(message)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
253 | }
254 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/ViewModels/DiveDataViewModel.swift:258:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
256 | public func clear() {
257 | DispatchQueue.main.async {
258 | self.dives.removeAll()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
259 | self.hasNewDives = false
260 | self.resetProgress()
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/ViewModels/DiveDataViewModel.swift:349:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
347 | public func resetProgress() {
348 | DispatchQueue.main.async {
349 | self.progress = .notStarted
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
350 | self.status = ""
351 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/ViewModels/DiveDataViewModel.swift:307:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
305 | }
306 |
307 | self.progress = .failed(errorMessage)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
308 | }
309 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/ViewModels/DiveDataViewModel.swift:313:17: warning: sending 'newDives' risks causing data races; this is an error in the Swift 6 language mode
311 | public func appendDives(_ newDives: [DiveData]) {
312 | DispatchQueue.main.async {
313 | if !newDives.isEmpty {
| |- warning: sending 'newDives' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'newDives' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
314 | self.hasNewDives = true
315 | }
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/ViewModels/DiveDataViewModel.swift:314:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
312 | DispatchQueue.main.async {
313 | if !newDives.isEmpty {
314 | self.hasNewDives = true
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
315 | }
316 | self.dives.append(contentsOf: newDives)
[129/133] Compiling LibDCSwift GenericParser.swift
[130/133] Compiling LibDCSwift Logger.swift
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/Logger.swift:20:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
17 | }
18 |
19 | public class Logger {
| `- note: class 'Logger' does not conform to the 'Sendable' protocol
20 | public static let shared = Logger()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' 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
21 | private var isEnabled = true
22 | private var minLevel: LogLevel = .debug
[131/133] Compiling LibDCSwift StoredDevice.swift
/Users/admin/builder/spi-builder-workspace/Sources/LibDCSwift/Models/StoredDevice.swift:51:22: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DeviceStorage' may have shared mutable state; this is an error in the Swift 6 language mode
48 | }
49 |
50 | @objc public class DeviceStorage: NSObject {
| `- note: class 'DeviceStorage' does not conform to the 'Sendable' protocol
51 | public static let shared = DeviceStorage()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DeviceStorage' 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
52 |
53 | private let defaults = UserDefaults.standard
[132/133] Compiling LibDCSwift SampleData.swift
[133/133] Compiling LibDCSwift DiveData.swift
Build complete! (11.16s)
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/libdivecomputer/m4': File not found.
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/libdivecomputer/doc': File not found.
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/serial_win32.c': File not found.
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "LibDCSwift",
"name" : "LibDCSwift",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "LibDCSwift",
"targets" : [
"LibDCSwift"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "LibDCBridge",
"targets" : [
"LibDCBridge"
],
"type" : {
"library" : [
"dynamic"
]
}
}
],
"targets" : [
{
"c99name" : "LibDCSwift",
"module_type" : "SwiftTarget",
"name" : "LibDCSwift",
"path" : "Sources/LibDCSwift",
"product_memberships" : [
"LibDCSwift"
],
"sources" : [
"BLEManager.swift",
"DiveLogRetriever.swift",
"LibDCSwift.swift",
"Logger.swift",
"Models/DeviceConfiguration.swift",
"Models/DeviceFingerprint.swift",
"Models/DiveData.swift",
"Models/SampleData.swift",
"Models/StoredDevice.swift",
"Parser/GenericParser.swift",
"ViewModels/DiveDataViewModel.swift"
],
"target_dependencies" : [
"LibDCBridge",
"Clibdivecomputer"
],
"type" : "library"
},
{
"c99name" : "LibDCBridge",
"module_type" : "ClangTarget",
"name" : "LibDCBridge",
"path" : "Sources/LibDCBridge",
"product_memberships" : [
"LibDCSwift",
"LibDCBridge"
],
"sources" : [
"src/BLEBridge.m",
"src/configuredc.c"
],
"target_dependencies" : [
"Clibdivecomputer"
],
"type" : "library"
},
{
"c99name" : "Clibdivecomputer",
"module_type" : "ClangTarget",
"name" : "Clibdivecomputer",
"path" : "libdivecomputer",
"product_memberships" : [
"LibDCSwift",
"LibDCBridge"
],
"sources" : [
"src/aes.c",
"src/array.c",
"src/atomics_cobalt.c",
"src/atomics_cobalt_parser.c",
"src/ble.c",
"src/bluetooth.c",
"src/buffer.c",
"src/checksum.c",
"src/citizen_aqualand.c",
"src/citizen_aqualand_parser.c",
"src/cochran_commander.c",
"src/cochran_commander_parser.c",
"src/common.c",
"src/context.c",
"src/cressi_edy.c",
"src/cressi_edy_parser.c",
"src/cressi_goa.c",
"src/cressi_goa_parser.c",
"src/cressi_leonardo.c",
"src/cressi_leonardo_parser.c",
"src/custom.c",
"src/datetime.c",
"src/deepblu_cosmiq.c",
"src/deepblu_cosmiq_parser.c",
"src/deepsix_excursion.c",
"src/deepsix_excursion_parser.c",
"src/descriptor.c",
"src/device.c",
"src/diverite_nitekq.c",
"src/diverite_nitekq_parser.c",
"src/divesoft_freedom.c",
"src/divesoft_freedom_parser.c",
"src/divesystem_idive.c",
"src/divesystem_idive_parser.c",
"src/halcyon_symbios.c",
"src/halcyon_symbios_parser.c",
"src/hdlc.c",
"src/hw_frog.c",
"src/hw_ostc.c",
"src/hw_ostc3.c",
"src/hw_ostc_parser.c",
"src/ihex.c",
"src/iostream.c",
"src/irda.c",
"src/iterator.c",
"src/liquivision_lynx.c",
"src/liquivision_lynx_parser.c",
"src/mares_common.c",
"src/mares_darwin.c",
"src/mares_darwin_parser.c",
"src/mares_iconhd.c",
"src/mares_iconhd_parser.c",
"src/mares_nemo.c",
"src/mares_nemo_parser.c",
"src/mares_puck.c",
"src/mclean_extreme.c",
"src/mclean_extreme_parser.c",
"src/oceanic_atom2.c",
"src/oceanic_atom2_parser.c",
"src/oceanic_common.c",
"src/oceanic_veo250.c",
"src/oceanic_veo250_parser.c",
"src/oceanic_vtpro.c",
"src/oceanic_vtpro_parser.c",
"src/oceans_s1.c",
"src/oceans_s1_common.c",
"src/oceans_s1_parser.c",
"src/packet.c",
"src/parser.c",
"src/pelagic_i330r.c",
"src/platform.c",
"src/rbstream.c",
"src/reefnet_sensus.c",
"src/reefnet_sensus_parser.c",
"src/reefnet_sensuspro.c",
"src/reefnet_sensuspro_parser.c",
"src/reefnet_sensusultra.c",
"src/reefnet_sensusultra_parser.c",
"src/ringbuffer.c",
"src/seac_screen.c",
"src/seac_screen_common.c",
"src/seac_screen_parser.c",
"src/serial_posix.c",
"src/shearwater_common.c",
"src/shearwater_petrel.c",
"src/shearwater_predator.c",
"src/shearwater_predator_parser.c",
"src/socket.c",
"src/sporasub_sp2.c",
"src/sporasub_sp2_parser.c",
"src/suunto_common.c",
"src/suunto_common2.c",
"src/suunto_d9.c",
"src/suunto_d9_parser.c",
"src/suunto_eon.c",
"src/suunto_eon_parser.c",
"src/suunto_eonsteel.c",
"src/suunto_eonsteel_parser.c",
"src/suunto_solution.c",
"src/suunto_solution_parser.c",
"src/suunto_vyper.c",
"src/suunto_vyper2.c",
"src/suunto_vyper_parser.c",
"src/tecdiving_divecomputereu.c",
"src/tecdiving_divecomputereu_parser.c",
"src/timer.c",
"src/usb.c",
"src/usbhid.c",
"src/uwatec_aladin.c",
"src/uwatec_memomouse.c",
"src/uwatec_memomouse_parser.c",
"src/uwatec_smart.c",
"src/uwatec_smart_parser.c",
"src/version.c",
"src/zeagle_n2ition3.c"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/libdivecomputer/m4': File not found.
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/libdivecomputer/doc': File not found.
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/libdivecomputer/src/serial_win32.c': File not found.
Done.