The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of PerfectNotifications, reference master (1ae0fa), with Swift 6.0 for macOS (SPM) on 26 Nov 2024 16:20:02 UTC.

Swift 6 data race errors: 10

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/perfectlysoft/perfect-notifications.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/perfectlysoft/perfect-notifications
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 1ae0fa9 readmes
Cloned https://github.com/perfectlysoft/perfect-notifications.git
Revision (git rev-parse @):
1ae0fa989ea305f0e36bb7acbb8f455f24650144
SUCCESS checkout https://github.com/perfectlysoft/perfect-notifications.git at master
Fetching https://github.com/PerfectlySoft/Perfect-Thread.git
Fetching https://github.com/PerfectlySoft/Perfect-Net.git
[4/379] Fetching perfect-thread
[77/949] Fetching perfect-thread, perfect-net
Fetched https://github.com/PerfectlySoft/Perfect-Net.git from cache (0.87s)
Fetched https://github.com/PerfectlySoft/Perfect-Thread.git from cache (0.87s)
Computing version for https://github.com/PerfectlySoft/Perfect-Net.git
Computed https://github.com/PerfectlySoft/Perfect-Net.git at 4.0.0 (0.58s)
Fetching https://github.com/PerfectlySoft/Perfect-Crypto.git
[1/612] Fetching perfect-crypto
Fetched https://github.com/PerfectlySoft/Perfect-Crypto.git from cache (0.86s)
Computing version for https://github.com/PerfectlySoft/Perfect-Crypto.git
Computed https://github.com/PerfectlySoft/Perfect-Crypto.git at 4.0.0 (0.56s)
Fetching https://github.com/PerfectlySoft/PerfectLib.git
Fetching https://github.com/PerfectlySoft/Perfect-COpenSSL.git
[1/3961] Fetching perfect-copenssl
[41/14745] Fetching perfect-copenssl, perfectlib
Fetched https://github.com/PerfectlySoft/PerfectLib.git from cache (2.84s)
Fetched https://github.com/PerfectlySoft/Perfect-COpenSSL.git from cache (2.84s)
Computing version for https://github.com/PerfectlySoft/PerfectLib.git
Computed https://github.com/PerfectlySoft/PerfectLib.git at 4.0.1 (0.57s)
Computing version for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Computed https://github.com/PerfectlySoft/Perfect-COpenSSL.git at 4.0.2 (2.39s)
Computing version for https://github.com/PerfectlySoft/Perfect-Thread.git
Computed https://github.com/PerfectlySoft/Perfect-Thread.git at 3.0.7 (0.57s)
Creating working copy for https://github.com/PerfectlySoft/Perfect-Crypto.git
Working copy of https://github.com/PerfectlySoft/Perfect-Crypto.git resolved at 4.0.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-Thread.git
Working copy of https://github.com/PerfectlySoft/Perfect-Thread.git resolved at 3.0.7
Creating working copy for https://github.com/PerfectlySoft/Perfect-Net.git
Working copy of https://github.com/PerfectlySoft/Perfect-Net.git resolved at 4.0.0
Creating working copy for https://github.com/PerfectlySoft/PerfectLib.git
Working copy of https://github.com/PerfectlySoft/PerfectLib.git resolved at 4.0.1
Creating working copy for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Working copy of https://github.com/PerfectlySoft/Perfect-COpenSSL.git resolved at 4.0.2
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "perfect-notifications",
      "name": "PerfectNotifications",
      "url": "https://github.com/perfectlysoft/perfect-notifications.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/perfect-notifications",
      "dependencies": [
        {
          "identity": "perfect-net",
          "name": "PerfectNet",
          "url": "https://github.com/PerfectlySoft/Perfect-Net.git",
          "version": "4.0.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Perfect-Net",
          "dependencies": [
            {
              "identity": "perfect-crypto",
              "name": "PerfectCrypto",
              "url": "https://github.com/PerfectlySoft/Perfect-Crypto.git",
              "version": "4.0.0",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Perfect-Crypto",
              "dependencies": [
                {
                  "identity": "perfectlib",
                  "name": "PerfectLib",
                  "url": "https://github.com/PerfectlySoft/PerfectLib.git",
                  "version": "4.0.1",
                  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PerfectLib",
                  "dependencies": [
                  ]
                },
                {
                  "identity": "perfect-thread",
                  "name": "PerfectThread",
                  "url": "https://github.com/PerfectlySoft/Perfect-Thread.git",
                  "version": "3.0.7",
                  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Perfect-Thread",
                  "dependencies": [
                  ]
                },
                {
                  "identity": "perfect-copenssl",
                  "name": "COpenSSL",
                  "url": "https://github.com/PerfectlySoft/Perfect-COpenSSL.git",
                  "version": "4.0.2",
                  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Perfect-COpenSSL",
                  "dependencies": [
                  ]
                }
              ]
            },
            {
              "identity": "perfect-thread",
              "name": "PerfectThread",
              "url": "https://github.com/PerfectlySoft/Perfect-Thread.git",
              "version": "3.0.7",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Perfect-Thread",
              "dependencies": [
              ]
            }
          ]
        },
        {
          "identity": "perfect-thread",
          "name": "PerfectThread",
          "url": "https://github.com/PerfectlySoft/Perfect-Thread.git",
          "version": "3.0.7",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Perfect-Thread",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/perfectlysoft/perfect-notifications.git
[1/282] Fetching perfect-notifications
Fetched https://github.com/perfectlysoft/perfect-notifications.git from cache (0.76s)
Fetching https://github.com/PerfectlySoft/Perfect-Thread.git from cache
Fetching https://github.com/PerfectlySoft/Perfect-Net.git from cache
Fetched https://github.com/PerfectlySoft/Perfect-Thread.git from cache (0.92s)
Fetched https://github.com/PerfectlySoft/Perfect-Net.git from cache (0.92s)
Computing version for https://github.com/PerfectlySoft/Perfect-Net.git
Computed https://github.com/PerfectlySoft/Perfect-Net.git at 4.0.0 (0.02s)
Fetching https://github.com/PerfectlySoft/Perfect-Crypto.git from cache
Fetched https://github.com/PerfectlySoft/Perfect-Crypto.git from cache (0.50s)
Computing version for https://github.com/PerfectlySoft/Perfect-Crypto.git
Computed https://github.com/PerfectlySoft/Perfect-Crypto.git at 4.0.0 (0.02s)
Fetching https://github.com/PerfectlySoft/Perfect-COpenSSL.git from cache
Fetching https://github.com/PerfectlySoft/PerfectLib.git from cache
Fetched https://github.com/PerfectlySoft/PerfectLib.git from cache (0.48s)
Fetched https://github.com/PerfectlySoft/Perfect-COpenSSL.git from cache (0.48s)
Computing version for https://github.com/PerfectlySoft/PerfectLib.git
Computed https://github.com/PerfectlySoft/PerfectLib.git at 4.0.1 (0.02s)
Computing version for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Computed https://github.com/PerfectlySoft/Perfect-COpenSSL.git at 4.0.2 (0.02s)
Computing version for https://github.com/PerfectlySoft/Perfect-Thread.git
Computed https://github.com/PerfectlySoft/Perfect-Thread.git at 3.0.7 (0.02s)
Creating working copy for https://github.com/PerfectlySoft/Perfect-Thread.git
Working copy of https://github.com/PerfectlySoft/Perfect-Thread.git resolved at 3.0.7
Creating working copy for https://github.com/perfectlysoft/perfect-notifications.git
Working copy of https://github.com/perfectlysoft/perfect-notifications.git resolved at master (1ae0fa9)
Creating working copy for https://github.com/PerfectlySoft/PerfectLib.git
Working copy of https://github.com/PerfectlySoft/PerfectLib.git resolved at 4.0.1
Creating working copy for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Working copy of https://github.com/PerfectlySoft/Perfect-COpenSSL.git resolved at 4.0.2
Creating working copy for https://github.com/PerfectlySoft/Perfect-Net.git
Working copy of https://github.com/PerfectlySoft/Perfect-Net.git resolved at 4.0.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-Crypto.git
Working copy of https://github.com/PerfectlySoft/Perfect-Crypto.git resolved at 4.0.0
warning: '.resolve-product-dependencies': dependency 'perfect-notifications' is not used by any target
Found 2 product dependencies
  - PerfectNet
  - PerfectThread
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/perfectlysoft/perfect-notifications.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.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/239] Write sources
[5/239] Write swift-version--7754E27361AE5C74.txt
[6/239] Compiling COpenSSL xts128.c
[7/239] Compiling COpenSSL dso_.c
[8/239] Compiling COpenSSL x509spki.c
[9/239] Compiling COpenSSL digest.c
[10/239] Compiling COpenSSL x509type.c
[11/239] Compiling COpenSSL dsa_.c
[12/243] Compiling COpenSSL x_.c
[13/243] Compiling COpenSSL dh_.c
[14/243] Compiling COpenSSL x509cset.c
[15/243] Compiling COpenSSL x509name.c
[16/243] Compiling COpenSSL wrap128.c
[17/250] Compiling COpenSSL xcbc_enc.c
[18/253] Compiling COpenSSL x509rset.c
[19/253] Compiling COpenSSL wp_.c
[20/253] Compiling COpenSSL v3err.c
[21/253] Compiling COpenSSL uid.c
[22/253] Compiling COpenSSL v3_lib.c
[23/253] Compiling COpenSSL txt_db.c
[24/253] Compiling COpenSSL x509_.c
[25/253] Compiling COpenSSL tb_store.c
[26/253] Compiling COpenSSL tb_rsa.c
[27/253] Compiling COpenSSL tb_rand.c
[28/253] Compiling COpenSSL tb_pkmeth.c
[29/253] Compiling COpenSSL v3_.c
[30/253] Compiling COpenSSL tb_ecdsa.c
[31/253] Compiling COpenSSL tb_ecdh.c
[32/253] Compiling COpenSSL tb_dsa.c
[33/253] Compiling COpenSSL tb_digest.c
[34/253] Compiling COpenSSL tb_dh.c
[35/253] Compiling COpenSSL tb_cipher.c
[36/253] Compiling COpenSSL tb_asnmth.c
[37/253] Compiling COpenSSL t_.c
[38/253] Compiling COpenSSL str2key.c
[39/253] Compiling COpenSSL tasn_.c
[40/253] Compiling COpenSSL stack.c
[41/253] Compiling COpenSSL srp_.c
[42/253] Compiling COpenSSL sha_.c
[43/253] Compiling COpenSSL sha512.c
[44/253] Compiling COpenSSL sha256.c
[45/253] Compiling COpenSSL ui_.c
[46/253] Compiling COpenSSL ts_.c
[47/253] Compiling COpenSSL sha1_one.c
[48/253] Compiling COpenSSL tls_srp.c
[49/253] Compiling COpenSSL set_key.c
[50/253] Compiling COpenSSL sha1dgst.c
[51/253] Compiling COpenSSL seed_.c
[52/253] Compiling COpenSSL rsaz_exp.c
[53/253] Compiling COpenSSL seed.c
[54/253] Compiling COpenSSL s2_.c
[55/253] Compiling COpenSSL rpc_enc.c
[56/253] Compiling COpenSSL s23_.c
[57/253] Compiling COpenSSL t1_.c
[58/253] Compiling COpenSSL ssl_.c
[59/253] Compiling COpenSSL rc2ofb64.c
[60/253] Compiling COpenSSL th-lock.c
[61/253] Compiling COpenSSL read2pwd.c
[62/253] Compiling COpenSSL rmd_.c
[63/253] Compiling COpenSSL rc2cfb64.c
[64/253] Compiling COpenSSL rc4_.c
[65/253] Compiling COpenSSL rc2_.c
[66/253] Compiling COpenSSL randfile.c
[67/253] Compiling COpenSSL qud_cksm.c
[68/253] Compiling COpenSSL rsa_.c
[69/253] Compiling COpenSSL pqueue.c
[70/253] Compiling COpenSSL pvkfmt.c
[71/253] Compiling COpenSSL pkcs7err.c
[72/253] Compiling COpenSSL rand_.c
[73/253] Compiling COpenSSL s3_.c
[74/253] Compiling COpenSSL pk12err.c
[75/253] Compiling COpenSSL pmeth_.c
[76/253] Compiling COpenSSL pcbc_enc.c
[77/253] Compiling COpenSSL pk7_.c
[78/253] Compiling COpenSSL p8_pkey.c
[79/253] Compiling COpenSSL pcy_.c
[80/253] Compiling COpenSSL p_.c
[81/253] Compiling COpenSSL pem_.c
[82/253] Compiling COpenSSL p5_.c
[83/253] Compiling COpenSSL openbsd_hw.c
[84/253] Compiling COpenSSL ofb_enc.c
[85/253] Compiling COpenSSL ofb64ede.c
[86/253] Compiling COpenSSL p12_.c
[87/253] Compiling COpenSSL ofb64enc.c
[88/253] Compiling COpenSSL ofb128.c
[89/253] Compiling COpenSSL nsseq.c
[90/253] Compiling COpenSSL mem_.c
[91/253] Compiling COpenSSL names.c
[92/253] Compiling COpenSSL o_.c
[93/253] Compiling COpenSSL obj_.c
[94/253] Compiling COpenSSL n_pkey.c
[95/253] Compiling COpenSSL mem.c
[96/253] Compiling COpenSSL mdc2dgst.c
[96/253] Compiling COpenSSL ocsp_.c
[98/253] Compiling COpenSSL mdc2_one.c
[99/253] Compiling COpenSSL md4_.c
[100/253] Compiling COpenSSL md5_.c
[101/253] Compiling COpenSSL md_rand.c
[102/253] Compiling COpenSSL m_wp.c
[103/253] Compiling COpenSSL m_sigver.c
[104/253] Compiling COpenSSL m_sha1.c
[105/253] Compiling COpenSSL m_sha.c
[106/253] Compiling COpenSSL m_ripemd.c
[107/253] Compiling COpenSSL m_null.c
[108/253] Compiling COpenSSL m_mdc2.c
[109/253] Compiling COpenSSL m_md5.c
[110/253] Compiling COpenSSL m_md2.c
[111/253] Compiling COpenSSL m_md4.c
[112/253] Compiling COpenSSL m_dss.c
[113/253] Compiling COpenSSL m_ecdsa.c
[114/253] Compiling COpenSSL m_dss1.c
[115/253] Compiling COpenSSL lhash.c
[116/253] Compiling COpenSSL lh_stats.c
[117/253] Compiling COpenSSL krb5_asn.c
[118/253] Compiling COpenSSL i_.c
[119/253] Compiling COpenSSL kssl.c
[120/253] Compiling COpenSSL gosthash.c
[121/253] Compiling COpenSSL i2d_.c
[121/253] Compiling COpenSSL hmac.c
[123/253] Compiling COpenSSL gost89.c
[124/253] Compiling COpenSSL hm_.c
[125/253] Compiling COpenSSL fips_ers.c
[126/253] Compiling COpenSSL gost94_keyx.c
[127/253] Compiling COpenSSL gost2001_keyx.c
[128/253] Compiling COpenSSL getenv.c
[129/253] Compiling COpenSSL fcrypt_b.c
[130/253] Compiling COpenSSL gcm128.c
[131/253] Compiling COpenSSL gost2001.c
[132/253] Compiling COpenSSL fcrypt.c
[133/253] Compiling COpenSSL gost_.c
[134/253] Compiling COpenSSL f_.c
[135/253] Compiling COpenSSL ex_data.c
[136/253] Compiling COpenSSL evp_.c
[137/253] Compiling COpenSSL err.c
[138/253] Compiling COpenSSL err_.c
[139/253] Compiling COpenSSL ede_cbcm_enc.c
[140/253] Compiling COpenSSL encode.c
[141/253] Compiling COpenSSL enc_.c
[142/253] Compiling COpenSSL ecp_nistputil.c
[143/253] Compiling COpenSSL ecp_nistp521.c
[144/253] Compiling COpenSSL ecp_nistp256.c
[145/253] Compiling COpenSSL ecp_nistp224.c
[146/253] Compiling COpenSSL eng_.c
[147/253] Compiling COpenSSL ecp_smpl.c
[148/253] Compiling COpenSSL ecs_.c
[149/253] Compiling COpenSSL ecp_oct.c
[150/253] Compiling COpenSSL ecp_nist.c
[151/253] Compiling COpenSSL ebcdic.c
[152/253] Compiling COpenSSL ecp_mont.c
[153/253] Compiling COpenSSL ecb3_enc.c
[154/253] Compiling COpenSSL ecb_enc.c
[155/253] Compiling COpenSSL eck_prn.c
[156/253] Compiling COpenSSL ech_.c
[157/253] Compiling COpenSSL e_ubsec_err.c
[158/253] Compiling COpenSSL ec2_.c
[159/253] Compiling COpenSSL e_xcbc_d.c
[160/253] Compiling COpenSSL e_sureware_err.c
[161/253] Compiling COpenSSL e_rc5.c
[162/253] Compiling COpenSSL e_seed.c
[163/253] Compiling COpenSSL e_ubsec.c
[164/253] Compiling COpenSSL e_rc4.c
[165/253] Compiling COpenSSL e_sureware.c
[166/253] Compiling COpenSSL e_rc4_hmac_md5.c
[167/253] Compiling COpenSSL e_rc2.c
[168/253] Compiling COpenSSL e_old.c
[169/253] Compiling COpenSSL e_padlock.c
[170/253] Compiling COpenSSL e_nuron_err.c
[171/253] Compiling COpenSSL ec_.c
[172/253] Compiling COpenSSL e_null.c
[173/253] Compiling COpenSSL e_idea.c
[174/253] Compiling COpenSSL e_gost_err.c
[175/253] Compiling COpenSSL e_nuron.c
[176/253] Compiling COpenSSL e_gmp_err.c
[177/253] Compiling COpenSSL e_cswift_err.c
[178/253] Compiling COpenSSL e_gmp.c
[179/253] Compiling COpenSSL e_des.c
[180/253] Compiling COpenSSL e_des3.c
[181/253] Compiling COpenSSL e_chil_err.c
[182/253] Compiling COpenSSL e_cast.c
[183/253] Compiling COpenSSL e_cswift.c
[184/253] Compiling COpenSSL e_capi_err.c
[185/253] Compiling COpenSSL e_chil.c
[186/253] Compiling COpenSSL e_atalla_err.c
[187/253] Compiling COpenSSL e_capi.c
[188/253] Compiling COpenSSL e_camellia.c
[189/253] Compiling COpenSSL e_bf.c
[190/253] Compiling COpenSSL e_aes_cbc_hmac_sha1.c
[191/253] Compiling COpenSSL e_aep_err.c
[192/253] Compiling COpenSSL e_aes_cbc_hmac_sha256.c
[193/253] Compiling COpenSSL e_4758cca_err.c
[194/253] Compiling COpenSSL e_atalla.c
[195/253] Compiling COpenSSL e_aes.c
[196/253] Compiling COpenSSL des_old2.c
[197/253] Compiling COpenSSL e_aep.c
[198/253] Compiling COpenSSL des_old.c
[199/253] Compiling COpenSSL e_4758cca.c
[200/253] Compiling COpenSSL des_enc.c
[201/253] Compiling COpenSSL d2i_.c
[202/253] Compiling COpenSSL cversion.c
[203/253] Compiling COpenSSL cpt_err.c
[204/253] Compiling COpenSSL ctr128.c
[205/253] Compiling COpenSSL cryptlib.c
[206/253] Compiling COpenSSL d1_lib.c
[207/253] Compiling COpenSSL comp_.c
[208/253] Compiling COpenSSL cmll_.c
[209/253] Compiling COpenSSL d1_.c
[210/253] Compiling COpenSSL cfb_enc.c
[211/253] Compiling COpenSSL cmac.c
[212/253] Compiling COpenSSL conf_.c
[213/253] Compiling COpenSSL cm_.c
[213/253] Compiling COpenSSL cfb64enc.c
[215/253] Compiling COpenSSL cfb64ede.c
[216/253] Compiling COpenSSL cfb128.c
[217/253] Compiling COpenSSL cbc3_enc.c
[218/253] Compiling COpenSSL ccm128.c
[219/253] Compiling COpenSSL cbc_.c
[220/253] Compiling COpenSSL cbc128.c
[221/253] Compiling COpenSSL camellia.c
[222/253] Compiling COpenSSL cms_.c
[223/253] Compiling COpenSSL buf_.c
[224/253] Compiling COpenSSL buffer.c
[225/253] Compiling COpenSSL b_print.c
[226/253] Compiling COpenSSL by_.c
[227/253] Compiling COpenSSL b_sock.c
[228/253] Compiling COpenSSL bf_.c
[229/253] Compiling COpenSSL c_.c
[230/253] Compiling COpenSSL b_dump.c
[231/253] Compiling COpenSSL bss_.c
[232/253] Compiling COpenSSL aes_.c
[233/253] Compiling COpenSSL ameth_lib.c
[234/253] Compiling COpenSSL asn_.c
[235/253] Compiling COpenSSL asn1_.c
[236/253] Compiling COpenSSL bio_.c
[237/253] Compiling COpenSSL a_.c
[238/253] Compiling COpenSSL bn_.c
[240/253] Compiling PerfectThread Threading.swift
[241/253] Compiling PerfectLib Dir.swift
[242/253] Compiling PerfectLib Bytes.swift
[243/253] Emitting module PerfectLib
[244/253] Emitting module PerfectThread
[245/253] Compiling PerfectThread Promise.swift
[246/253] Compiling PerfectThread ThreadQueue.swift
[247/253] Compiling PerfectLib SysProcess.swift
[248/253] Compiling PerfectLib PerfectServer.swift
[249/253] Compiling PerfectLib Log.swift
[250/253] Compiling PerfectLib PerfectError.swift
[251/253] Compiling PerfectLib Utilities.swift
[252/253] Compiling PerfectLib JSONConvertible.swift
[253/253] Compiling PerfectLib File.swift
[254/262] Compiling PerfectCrypto PerfectCrypto.swift
[255/262] Compiling PerfectCrypto JWK.swift
[256/262] Compiling PerfectCrypto Extensions.swift
[257/262] Compiling PerfectCrypto Keys.swift
[258/262] Compiling PerfectCrypto Algorithms.swift
[259/262] Compiling PerfectCrypto JWT.swift
[260/262] Compiling PerfectCrypto ByteIO.swift
[261/262] Emitting module PerfectCrypto
[262/262] Compiling PerfectCrypto OpenSSLInternal.swift
[263/270] Compiling PerfectNet NetUDP.swift
[264/270] Compiling PerfectNet NetTCP.swift
[265/270] Compiling PerfectNet NetEvent.swift
[266/270] Compiling PerfectNet NetTCPSSL.swift
[267/270] Compiling PerfectNet Net.swift
[268/270] Compiling PerfectNet NetNamedPipe.swift
[269/270] Emitting module PerfectNet
[270/270] Compiling PerfectNet NetAddress.swift
[271/280] Compiling PerfectNotifications JWTokenMaker.swift
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/JWTokenMaker.swift:29:5: warning: let 'jwtSigAlgo' is not concurrency-safe because non-'Sendable' type 'JWT.Alg' may have shared mutable state; this is an error in the Swift 6 language mode
27 | #endif
28 |
29 | let jwtSigAlgo = JWT.Alg.es256
   |     `- warning: let 'jwtSigAlgo' is not concurrency-safe because non-'Sendable' type 'JWT.Alg' may have shared mutable state; this is an error in the Swift 6 language mode
30 |
31 | func makeSignature(keyId: String, teamId: String, privateKeyPath: String) -> String? {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-Crypto/Sources/PerfectCrypto/JWT.swift:30:14: note: enum 'Alg' does not conform to the 'Sendable' protocol
 28 | public struct JWT {
 29 | 	/// Supported JWT alg types
 30 | 	public enum Alg {
    |              `- note: enum 'Alg' does not conform to the 'Sendable' protocol
 31 | 		case hs256, hs384, hs512
 32 | 		case rs256, rs384, rs512
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/JWTokenMaker.swift:20:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'PerfectCrypto'
18 | //
19 |
20 | import PerfectCrypto
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'PerfectCrypto'
21 | import PerfectLib
22 |
   :
27 | #endif
28 |
29 | let jwtSigAlgo = JWT.Alg.es256
   |     |- note: annotate 'jwtSigAlgo' with '@MainActor' if property should only be accessed from the main actor
   |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |
31 | func makeSignature(keyId: String, teamId: String, privateKeyPath: String) -> String? {
[272/280] Compiling PerfectNotifications HTTPMethod.swift
[273/280] Compiling PerfectNotifications HTTPRequest.swift
[274/280] Compiling PerfectNotifications HTTPResponse.swift
[275/281] Compiling PerfectNotifications HTTP2Frame.swift
[276/281] Compiling PerfectNotifications HTTPHeaders.swift
[277/281] Compiling PerfectNotifications HTTP2Client.swift
[278/281] Compiling PerfectNotifications NotificationPusher.swift
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/NotificationPusher.swift:219:20: warning: static property 'development' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
217 | 	/// Toggle development or production on a global basis.
218 | 	// TODO: deprecate
219 | 	public static var development = false
    |                    |- warning: static property 'development' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: convert 'development' to a 'let' constant to make 'Sendable' shared state immutable
    |                    |- note: annotate 'development' with '@MainActor' if property should only be accessed from the main actor
    |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
220 |
221 | 	/// Sets the apns-topic which will be used for iOS notifications.
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/NotificationPusher.swift:229:13: warning: static property 'idCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
227 | 	var responses = [NotificationResponse]()
228 |
229 | 	static var idCounter = 0
    |             |- warning: static property 'idCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'idCounter' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: annotate 'idCounter' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
230 |
231 | 	static let configurationsLock = Threading.Lock()
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/NotificationPusher.swift:231:13: warning: static property 'configurationsLock' is not concurrency-safe because non-'Sendable' type 'Threading.Lock' may have shared mutable state; this is an error in the Swift 6 language mode
229 | 	static var idCounter = 0
230 |
231 | 	static let configurationsLock = Threading.Lock()
    |             `- warning: static property 'configurationsLock' is not concurrency-safe because non-'Sendable' type 'Threading.Lock' may have shared mutable state; this is an error in the Swift 6 language mode
232 | 	static var iosConfigurations = [String:NotificationConfiguration]()
233 | 	static var activeStreams = [Int:NotificationHTTP2Client]()
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-Thread/Sources/PerfectThread/Threading.swift:68:8: note: class 'Lock' does not conform to the 'Sendable' protocol
 66 | 	/// The lock can be held by only one thread. Other threads attempting to secure the lock while it is held will block.
 67 | 	/// The lock is initialized as being recursive. The locking thread may lock multiple times, but each lock should be accompanied by an unlock.
 68 | 	class Lock {
    |        `- note: class 'Lock' does not conform to the 'Sendable' protocol
 69 | 		var mutex = pthread_mutex_t()
 70 | 		/// Initialize a new lock object.
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/NotificationPusher.swift:22:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'PerfectThread'
 20 | import PerfectLib
 21 | import PerfectNet
 22 | import PerfectThread
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'PerfectThread'
 23 | import PerfectCrypto
 24 | import Foundation
    :
229 | 	static var idCounter = 0
230 |
231 | 	static let configurationsLock = Threading.Lock()
    |             |- note: annotate 'configurationsLock' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
232 | 	static var iosConfigurations = [String:NotificationConfiguration]()
233 | 	static var activeStreams = [Int:NotificationHTTP2Client]()
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/NotificationPusher.swift:232:13: warning: static property 'iosConfigurations' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
230 |
231 | 	static let configurationsLock = Threading.Lock()
232 | 	static var iosConfigurations = [String:NotificationConfiguration]()
    |             |- warning: static property 'iosConfigurations' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'iosConfigurations' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: annotate 'iosConfigurations' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
233 | 	static var activeStreams = [Int:NotificationHTTP2Client]()
234 |
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/NotificationPusher.swift:233:13: warning: static property 'activeStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
231 | 	static let configurationsLock = Threading.Lock()
232 | 	static var iosConfigurations = [String:NotificationConfiguration]()
233 | 	static var activeStreams = [Int:NotificationHTTP2Client]()
    |             |- warning: static property 'activeStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'activeStreams' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: annotate 'activeStreams' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
234 |
235 | 	/// Initialize given an apns-topic string.
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/NotificationPusher.swift:404:6: warning: capture of 'self' with non-sendable type 'NotificationPusher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
208 |
209 | /// The interface for APNS notifications.
210 | public class NotificationPusher {
    |              `- note: class 'NotificationPusher' does not conform to the 'Sendable' protocol
211 |
212 | 	typealias ComponentGenerator = IndexingIterator<[String]>
    :
402 | 				self.responses.append(response)
403 | 				DispatchQueue.global().async {
404 | 					self.pushAPNS(client, config: config, deviceTokens: remainingDeviceTokens, notificationJson: notificationJson, callback: callback)
    |      `- warning: capture of 'self' with non-sendable type 'NotificationPusher' in a `@Sendable` closure; this is an error in the Swift 6 language mode
405 | 				}
406 | 			}
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/NotificationPusher.swift:404:20: warning: capture of 'client' with non-sendable type 'HTTP2Client' in a `@Sendable` closure; this is an error in the Swift 6 language mode
402 | 				self.responses.append(response)
403 | 				DispatchQueue.global().async {
404 | 					self.pushAPNS(client, config: config, deviceTokens: remainingDeviceTokens, notificationJson: notificationJson, callback: callback)
    |                    `- warning: capture of 'client' with non-sendable type 'HTTP2Client' in a `@Sendable` closure; this is an error in the Swift 6 language mode
405 | 				}
406 | 			}
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/HTTP/HTTP2Client.swift:62:7: note: class 'HTTP2Client' does not conform to the 'Sendable' protocol
 60 | }
 61 |
 62 | class HTTP2Client {
    |       `- note: class 'HTTP2Client' does not conform to the 'Sendable' protocol
 63 |
 64 | 	enum StreamState {
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/NotificationPusher.swift:404:36: warning: capture of 'config' with non-sendable type 'NotificationConfiguration' in a `@Sendable` closure; this is an error in the Swift 6 language mode
101 | }
102 |
103 | class NotificationConfiguration {
    |       `- note: class 'NotificationConfiguration' does not conform to the 'Sendable' protocol
104 | 	let name: String
105 | 	let configurator: NotificationPusher.netConfigurator
    :
402 | 				self.responses.append(response)
403 | 				DispatchQueue.global().async {
404 | 					self.pushAPNS(client, config: config, deviceTokens: remainingDeviceTokens, notificationJson: notificationJson, callback: callback)
    |                                    `- warning: capture of 'config' with non-sendable type 'NotificationConfiguration' in a `@Sendable` closure; this is an error in the Swift 6 language mode
405 | 				}
406 | 			}
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/NotificationPusher.swift:404:127: warning: capture of 'callback' with non-sendable type '([NotificationResponse]) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
402 | 				self.responses.append(response)
403 | 				DispatchQueue.global().async {
404 | 					self.pushAPNS(client, config: config, deviceTokens: remainingDeviceTokens, notificationJson: notificationJson, callback: callback)
    |                                                                                                                               |- warning: capture of 'callback' with non-sendable type '([NotificationResponse]) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                                                                                                               `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
405 | 				}
406 | 			}
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/NotificationPusher.swift:490:21: warning: reference to static property 'isInitialized' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
488 | 	/// Add an APNS configuration which can be later used to push notifications.
489 | 	static func addConfigurationAPNS(name: String, production: Bool, keyId: String, teamId: String, privateKeyPath: String) {
490 | 		_ = PerfectCrypto.isInitialized
    |                     `- warning: reference to static property 'isInitialized' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
491 | 		guard File(privateKeyPath).exists else {
492 | 			fatalError("The private key file \"\(privateKeyPath)\" does not exist. Current working directory: \(Dir.workingDir.path)")
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-Crypto/Sources/PerfectCrypto/PerfectCrypto.swift:21:20: note: static property declared here
19 |
20 | public enum PerfectCrypto {
21 | 	public static var isInitialized: Bool = {
   |                    `- note: static property declared here
22 | 		return OpenSSLInternal.isInitialized
23 | 	}()
[279/281] Compiling PerfectNotifications HTTP2.swift
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/HTTP/HTTP2.swift:29:5: warning: var 'http2Debug' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 | let http2ConnectionPreface = "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"
28 |
29 | var http2Debug = false
   |     |- warning: var 'http2Debug' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |     |- note: convert 'http2Debug' to a 'let' constant to make 'Sendable' shared state immutable
   |     |- note: annotate 'http2Debug' with '@MainActor' if property should only be accessed from the main actor
   |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |
31 | enum HTTP2StreamState {
[280/281] Emitting module PerfectNotifications
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/HTTP/HPACK.swift:178:13: warning: static property 'table' is not concurrency-safe because non-'Sendable' type '[HeaderField]' may have shared mutable state; this is an error in the Swift 6 language mode
  24 | // Which is an implimentation of https://tools.ietf.org/html/rfc7541
  25 |
  26 | class HeaderField {
     |       `- note: class 'HeaderField' does not conform to the 'Sendable' protocol
  27 | 	static let headerEntryOverhead = 32
  28 |
     :
 176 | private struct StaticTable {
 177 |
 178 | 	static let table = [
     |             |- warning: static property 'table' is not concurrency-safe because non-'Sendable' type '[HeaderField]' may have shared mutable state; this is an error in the Swift 6 language mode
     |             |- note: annotate 'table' with '@MainActor' if property should only be accessed from the main actor
     |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 179 | 		HeaderField(name: ":authority"),
 180 | 		HeaderField(name: ":method", value: "GET"),
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/HTTP/HPACK.swift:749:13: warning: let 'huffmanEncoderInstance' is not concurrency-safe because non-'Sendable' type 'HuffmanEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
 588 | private let huffmanEOS = 256
 589 |
 590 | final class HuffmanEncoder {
     |             `- note: class 'HuffmanEncoder' does not conform to the 'Sendable' protocol
 591 |
 592 | 	let codes: [Int]
     :
 747 | }
 748 |
 749 | private let huffmanEncoderInstance = HuffmanEncoder(codes: huffmanCodes, lengths: huffmanCodeLengths)
     |             |- warning: let 'huffmanEncoderInstance' is not concurrency-safe because non-'Sendable' type 'HuffmanEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
     |             |- note: annotate 'huffmanEncoderInstance' with '@MainActor' if property should only be accessed from the main actor
     |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 750 | private let huffmanDecoderInstance = HuffmanDecoder(codes: huffmanCodes, lengths: huffmanCodeLengths)
 751 |
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/HTTP/HPACK.swift:750:13: warning: let 'huffmanDecoderInstance' is not concurrency-safe because non-'Sendable' type 'HuffmanDecoder' may have shared mutable state; this is an error in the Swift 6 language mode
 640 | }
 641 |
 642 | final class HuffmanDecoder {
     |             `- note: class 'HuffmanDecoder' does not conform to the 'Sendable' protocol
 643 |
 644 | 	enum Exception: Error {
     :
 748 |
 749 | private let huffmanEncoderInstance = HuffmanEncoder(codes: huffmanCodes, lengths: huffmanCodeLengths)
 750 | private let huffmanDecoderInstance = HuffmanDecoder(codes: huffmanCodes, lengths: huffmanCodeLengths)
     |             |- warning: let 'huffmanDecoderInstance' is not concurrency-safe because non-'Sendable' type 'HuffmanDecoder' may have shared mutable state; this is an error in the Swift 6 language mode
     |             |- note: annotate 'huffmanDecoderInstance' with '@MainActor' if property should only be accessed from the main actor
     |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 751 |
 752 | /// Encodes headers according to the HPACK standard.
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/HTTP/HTTP2.swift:29:5: warning: var 'http2Debug' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
27 | let http2ConnectionPreface = "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"
28 |
29 | var http2Debug = false
   |     |- warning: var 'http2Debug' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |     |- note: convert 'http2Debug' to a 'let' constant to make 'Sendable' shared state immutable
   |     |- note: annotate 'http2Debug' with '@MainActor' if property should only be accessed from the main actor
   |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |
31 | enum HTTP2StreamState {
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/JWTokenMaker.swift:29:5: warning: let 'jwtSigAlgo' is not concurrency-safe because non-'Sendable' type 'JWT.Alg' may have shared mutable state; this is an error in the Swift 6 language mode
27 | #endif
28 |
29 | let jwtSigAlgo = JWT.Alg.es256
   |     `- warning: let 'jwtSigAlgo' is not concurrency-safe because non-'Sendable' type 'JWT.Alg' may have shared mutable state; this is an error in the Swift 6 language mode
30 |
31 | func makeSignature(keyId: String, teamId: String, privateKeyPath: String) -> String? {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-Crypto/Sources/PerfectCrypto/JWT.swift:30:14: note: enum 'Alg' does not conform to the 'Sendable' protocol
 28 | public struct JWT {
 29 | 	/// Supported JWT alg types
 30 | 	public enum Alg {
    |              `- note: enum 'Alg' does not conform to the 'Sendable' protocol
 31 | 		case hs256, hs384, hs512
 32 | 		case rs256, rs384, rs512
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/JWTokenMaker.swift:20:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'PerfectCrypto'
18 | //
19 |
20 | import PerfectCrypto
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'PerfectCrypto'
21 | import PerfectLib
22 |
   :
27 | #endif
28 |
29 | let jwtSigAlgo = JWT.Alg.es256
   |     |- note: annotate 'jwtSigAlgo' with '@MainActor' if property should only be accessed from the main actor
   |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |
31 | func makeSignature(keyId: String, teamId: String, privateKeyPath: String) -> String? {
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/NotificationPusher.swift:219:20: warning: static property 'development' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
217 | 	/// Toggle development or production on a global basis.
218 | 	// TODO: deprecate
219 | 	public static var development = false
    |                    |- warning: static property 'development' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: convert 'development' to a 'let' constant to make 'Sendable' shared state immutable
    |                    |- note: annotate 'development' with '@MainActor' if property should only be accessed from the main actor
    |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
220 |
221 | 	/// Sets the apns-topic which will be used for iOS notifications.
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/NotificationPusher.swift:229:13: warning: static property 'idCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
227 | 	var responses = [NotificationResponse]()
228 |
229 | 	static var idCounter = 0
    |             |- warning: static property 'idCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'idCounter' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: annotate 'idCounter' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
230 |
231 | 	static let configurationsLock = Threading.Lock()
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/NotificationPusher.swift:231:13: warning: static property 'configurationsLock' is not concurrency-safe because non-'Sendable' type 'Threading.Lock' may have shared mutable state; this is an error in the Swift 6 language mode
229 | 	static var idCounter = 0
230 |
231 | 	static let configurationsLock = Threading.Lock()
    |             `- warning: static property 'configurationsLock' is not concurrency-safe because non-'Sendable' type 'Threading.Lock' may have shared mutable state; this is an error in the Swift 6 language mode
232 | 	static var iosConfigurations = [String:NotificationConfiguration]()
233 | 	static var activeStreams = [Int:NotificationHTTP2Client]()
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-Thread/Sources/PerfectThread/Threading.swift:68:8: note: class 'Lock' does not conform to the 'Sendable' protocol
 66 | 	/// The lock can be held by only one thread. Other threads attempting to secure the lock while it is held will block.
 67 | 	/// The lock is initialized as being recursive. The locking thread may lock multiple times, but each lock should be accompanied by an unlock.
 68 | 	class Lock {
    |        `- note: class 'Lock' does not conform to the 'Sendable' protocol
 69 | 		var mutex = pthread_mutex_t()
 70 | 		/// Initialize a new lock object.
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/NotificationPusher.swift:22:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'PerfectThread'
 20 | import PerfectLib
 21 | import PerfectNet
 22 | import PerfectThread
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'PerfectThread'
 23 | import PerfectCrypto
 24 | import Foundation
    :
229 | 	static var idCounter = 0
230 |
231 | 	static let configurationsLock = Threading.Lock()
    |             |- note: annotate 'configurationsLock' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
232 | 	static var iosConfigurations = [String:NotificationConfiguration]()
233 | 	static var activeStreams = [Int:NotificationHTTP2Client]()
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/NotificationPusher.swift:232:13: warning: static property 'iosConfigurations' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
230 |
231 | 	static let configurationsLock = Threading.Lock()
232 | 	static var iosConfigurations = [String:NotificationConfiguration]()
    |             |- warning: static property 'iosConfigurations' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'iosConfigurations' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: annotate 'iosConfigurations' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
233 | 	static var activeStreams = [Int:NotificationHTTP2Client]()
234 |
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/NotificationPusher.swift:233:13: warning: static property 'activeStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
231 | 	static let configurationsLock = Threading.Lock()
232 | 	static var iosConfigurations = [String:NotificationConfiguration]()
233 | 	static var activeStreams = [Int:NotificationHTTP2Client]()
    |             |- warning: static property 'activeStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'activeStreams' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: annotate 'activeStreams' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
234 |
235 | 	/// Initialize given an apns-topic string.
[281/281] Compiling PerfectNotifications HPACK.swift
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/HTTP/HPACK.swift:178:13: warning: static property 'table' is not concurrency-safe because non-'Sendable' type '[HeaderField]' may have shared mutable state; this is an error in the Swift 6 language mode
  24 | // Which is an implimentation of https://tools.ietf.org/html/rfc7541
  25 |
  26 | class HeaderField {
     |       `- note: class 'HeaderField' does not conform to the 'Sendable' protocol
  27 | 	static let headerEntryOverhead = 32
  28 |
     :
 176 | private struct StaticTable {
 177 |
 178 | 	static let table = [
     |             |- warning: static property 'table' is not concurrency-safe because non-'Sendable' type '[HeaderField]' may have shared mutable state; this is an error in the Swift 6 language mode
     |             |- note: annotate 'table' with '@MainActor' if property should only be accessed from the main actor
     |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 179 | 		HeaderField(name: ":authority"),
 180 | 		HeaderField(name: ":method", value: "GET"),
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/HTTP/HPACK.swift:749:13: warning: let 'huffmanEncoderInstance' is not concurrency-safe because non-'Sendable' type 'HuffmanEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
 588 | private let huffmanEOS = 256
 589 |
 590 | final class HuffmanEncoder {
     |             `- note: class 'HuffmanEncoder' does not conform to the 'Sendable' protocol
 591 |
 592 | 	let codes: [Int]
     :
 747 | }
 748 |
 749 | private let huffmanEncoderInstance = HuffmanEncoder(codes: huffmanCodes, lengths: huffmanCodeLengths)
     |             |- warning: let 'huffmanEncoderInstance' is not concurrency-safe because non-'Sendable' type 'HuffmanEncoder' may have shared mutable state; this is an error in the Swift 6 language mode
     |             |- note: annotate 'huffmanEncoderInstance' with '@MainActor' if property should only be accessed from the main actor
     |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 750 | private let huffmanDecoderInstance = HuffmanDecoder(codes: huffmanCodes, lengths: huffmanCodeLengths)
 751 |
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNotifications/HTTP/HPACK.swift:750:13: warning: let 'huffmanDecoderInstance' is not concurrency-safe because non-'Sendable' type 'HuffmanDecoder' may have shared mutable state; this is an error in the Swift 6 language mode
 640 | }
 641 |
 642 | final class HuffmanDecoder {
     |             `- note: class 'HuffmanDecoder' does not conform to the 'Sendable' protocol
 643 |
 644 | 	enum Exception: Error {
     :
 748 |
 749 | private let huffmanEncoderInstance = HuffmanEncoder(codes: huffmanCodes, lengths: huffmanCodeLengths)
 750 | private let huffmanDecoderInstance = HuffmanDecoder(codes: huffmanCodes, lengths: huffmanCodeLengths)
     |             |- warning: let 'huffmanDecoderInstance' is not concurrency-safe because non-'Sendable' type 'HuffmanDecoder' may have shared mutable state; this is an error in the Swift 6 language mode
     |             |- note: annotate 'huffmanDecoderInstance' with '@MainActor' if property should only be accessed from the main actor
     |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 751 |
 752 | /// Encodes headers according to the HPACK standard.
Build complete! (21.82s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "perfect-net",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.0.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/PerfectlySoft/Perfect-Net.git"
    },
    {
      "identity" : "perfect-thread",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.0.0",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/PerfectlySoft/Perfect-Thread.git"
    }
  ],
  "manifest_display_name" : "PerfectNotifications",
  "name" : "PerfectNotifications",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    }
  ],
  "products" : [
    {
      "name" : "PerfectNotifications",
      "targets" : [
        "PerfectNotifications"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PerfectNotifications",
      "module_type" : "SwiftTarget",
      "name" : "PerfectNotifications",
      "path" : "Sources/PerfectNotifications",
      "product_dependencies" : [
        "PerfectNet",
        "PerfectThread"
      ],
      "product_memberships" : [
        "PerfectNotifications"
      ],
      "sources" : [
        "HTTP/HPACK.swift",
        "HTTP/HTTP2.swift",
        "HTTP/HTTP2Client.swift",
        "HTTP/HTTP2Frame.swift",
        "HTTP/HTTPHeaders.swift",
        "HTTP/HTTPMethod.swift",
        "HTTP/HTTPRequest.swift",
        "HTTP/HTTPResponse.swift",
        "JWTokenMaker.swift",
        "NotificationPusher.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.