Compiling embedded Concurrency for armv6

Is there a self-contained notmain.swift snippet that reproduces it and you could share in a bug report? That would be greatly appreciated!

I also found this bug; as long as the following exists:

@available(SwiftStdlib 5.1, *)
@_silgen_name("swift_job_run")
@usableFromInline
internal func _swiftJobRun(_ job: UnownedJob,
                           _ executor: UnownedSerialExecutor) -> ()

Defining an implementation (even with exactly matching arguments) will cause a crash:

/// Establish that the current thread is running as the given
/// executor, then run a job.
@_spi(ConcurrencyRuntime)
@_silgen_name("swift_job_run")
@unsafe
public func swift_job_run(_ job: UnsafeMutablePointer<RawJob>, _ executor: RawSerialExecutorRef) {
    fatalError()
}

Crash
Compiling _Concurrency...
<unknown>:0: error: fatal error encountered during compilation; please submit a bug report (https://swift.org/contributing/#reporting-bugs)
<unknown>:0: note: unsupported collection upcast kind
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0.	Program arguments: /Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend -frontend -emit-module sdk/concurrency/Actor.swift sdk/concurrency/AsyncCompactMapSequence.swift sdk/concurrency/AsyncDropFirstSequence.swift sdk/concurrency/AsyncDropWhileSequence.swift sdk/concurrency/AsyncFilterSequence.swift sdk/concurrency/AsyncFlatMapSequence.swift sdk/concurrency/AsyncIteratorProtocol.swift sdk/concurrency/AsyncLet.swift sdk/concurrency/AsyncMapSequence.swift sdk/concurrency/AsyncPrefixSequence.swift sdk/concurrency/AsyncPrefixWhileSequence.swift sdk/concurrency/AsyncSequence.swift sdk/concurrency/AsyncStream.swift sdk/concurrency/AsyncStreamBuffer.swift sdk/concurrency/AsyncThrowingCompactMapSequence.swift sdk/concurrency/AsyncThrowingDropWhileSequence.swift sdk/concurrency/AsyncThrowingFilterSequence.swift sdk/concurrency/AsyncThrowingFlatMapSequence.swift sdk/concurrency/AsyncThrowingMapSequence.swift sdk/concurrency/AsyncThrowingPrefixWhileSequence.swift sdk/concurrency/AsyncThrowingStream.swift sdk/concurrency/CFExecutor.swift sdk/concurrency/CheckedContinuation.swift sdk/concurrency/Clock.swift sdk/concurrency/Compatibility.swift sdk/concurrency/ContinuousClock.swift sdk/concurrency/CooperativeExecutor.swift sdk/concurrency/Deque+Codable.swift sdk/concurrency/Deque+Collection.swift sdk/concurrency/Deque+CustomDebugStringConvertible.swift sdk/concurrency/Deque+CustomReflectable.swift sdk/concurrency/Deque+CustomStringConvertible.swift sdk/concurrency/Deque+Equatable.swift sdk/concurrency/Deque+ExpressibleByArrayLiteral.swift sdk/concurrency/Deque+Extras.swift sdk/concurrency/Deque+Hashable.swift sdk/concurrency/Deque+Storage.swift sdk/concurrency/Deque+Testing.swift sdk/concurrency/Deque+UnsafeHandle.swift sdk/concurrency/Deque.swift sdk/concurrency/DiscardingTaskGroup.swift sdk/concurrency/DispatchExecutor.swift sdk/concurrency/Errors.swift sdk/concurrency/Executor.swift sdk/concurrency/ExecutorAssertions.swift sdk/concurrency/ExecutorBridge.swift sdk/concurrency/GlobalActor.swift sdk/concurrency/GlobalConcurrentExecutor.swift sdk/concurrency/MainActor.swift sdk/concurrency/PartialAsyncTask.swift sdk/concurrency/PlatformExecutorCooperative.swift sdk/concurrency/PriorityQueue.swift sdk/concurrency/Runtime.swift sdk/concurrency/SuspendingClock.swift sdk/concurrency/Task+PriorityEscalation.swift sdk/concurrency/Task+TaskExecutor.swift sdk/concurrency/Task.swift sdk/concurrency/TaskCancellation.swift sdk/concurrency/TaskGroup.swift sdk/concurrency/TaskLocal.swift sdk/concurrency/TaskSleep.swift sdk/concurrency/TaskSleepDuration.swift sdk/concurrency/UnimplementedExecutor.swift sdk/concurrency/UnsafeMutableBufferPointer+Utilities.swift sdk/concurrency/_DequeBuffer.swift sdk/concurrency/_DequeBufferHeader.swift sdk/concurrency/_DequeSlot.swift sdk/concurrency/_UnsafeWrappedBuffer.swift build/gyb/sdk/concurrency/Task+immediate.swift build/gyb/sdk/concurrency/Task+init.swift build/gyb/sdk/concurrency/TaskGroup+addTask.swift -supplementary-output-file-map /var/folders/tf/zch6121s4wd8hv092csrhrth0000gn/T/TemporaryDirectory.678FHK/supplementaryOutputs-1 -disable-objc-attr-requires-foundation-module -target armv6-none-none-eabi -disable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -I build -color-diagnostics -Xcc -fcolor-diagnostics -g -debug-info-format=dwarf -dwarf-version=4 -nostdimport -nostdlibimport -parse-stdlib -swift-version 5 -O -D SWIFT_STDLIB_ENABLE_UNICODE_DATA -D SWIFT_CONCURRENCY_EMBEDDED -define-availability "SwiftStdlib 9999:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.0:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.1:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.2:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.3:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.4:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.5:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.6:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.7:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.8:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.9:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.10:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 6.0:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 6.1:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 6.2:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 6.3:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 6.4:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftCompatibilitySpan 5.0:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftCompatibilitySpan 6.2:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 9999:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.0:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.1:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.2:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.3:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.4:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.5:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.6:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.7:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.8:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.9:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.10:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 6.0:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 6.1:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 6.2:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 6.3:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 6.4:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -disable-stack-protector -enable-experimental-feature BuiltinModule -enable-experimental-feature Extern -enable-experimental-feature SymbolLinkageMarkers -enable-experimental-feature ValueGenerics -enable-experimental-feature LifetimeDependence -enable-experimental-feature Lifetimes -enable-experimental-feature RawLayout -enable-experimental-feature Volatile -enable-experimental-feature ReferenceBindings -enable-experimental-feature MoveOnlyTuples -enable-experimental-feature MoveOnlyClasses -enable-experimental-feature StructLetDestructuring -enable-experimental-feature CompileTimeValues -enable-experimental-feature BorrowAndMutateAccessors -enable-experimental-feature BorrowInout -enable-experimental-feature BorrowingSequence -enable-experimental-feature ThenStatements -enable-experimental-feature AddressableTypes -enable-experimental-feature AddressableParameters -enable-experimental-feature Reparenting -enable-experimental-feature TypedThrows -enable-experimental-feature StaticExclusiveOnly -enable-experimental-feature Embedded -enable-experimental-feature EmbeddedExistentials -strict-memory-safety -empty-abi-descriptor -file-compilation-dir /Users/teampuzel/retro/ds -Xcc -fmodule-map-file=sdk/sys/module.modulemap -Xcc -fmodule-map-file=sdk/shims/module.modulemap -Xcc -I/opt/devkitpro/libctru/include -Xcc -I/opt/devkitpro/devkitARM/arm-none-eabi/include -Xcc -mfloat-abi=hard -Xcc -mfpu=vfp -Xcc -mcpu=mpcore -Xcc -march=armv6k -Xcc -fshort-enums -no-auto-bridging-header-chaining -module-name _Concurrency -in-process-plugin-server-path /Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -plugin-path /Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/lib/swift/host/plugins -plugin-path /Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/local/lib/swift/host/plugins -parse-as-library -o build/_Concurrency.swiftmodule -cross-module-optimization
1.	Apple Swift version 6.4-dev (LLVM a3655ee8d8c4d74, Swift d13cbbfd336f246)
2.	Compiling with effective version 5.10
3.	While evaluating request ASTLoweringRequest(Lowering AST to SIL for module _Concurrency)
4.	While silgen emitFunction SIL function "@swift_job_run".
 for 'swift_job_run(_:_:)' (at sdk/concurrency/Runtime.swift:106:8)
 #0 0x000000010ab16fd4 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x105dfafd4)
 #1 0x000000010ab152f0 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x105df92f0)
 #2 0x000000010ab17a64 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x105dfba64)
 #3 0x0000000185485764 (/usr/lib/system/libsystem_platform.dylib+0x1804e5764)
 #4 0x000000018547b888 (/usr/lib/system/libsystem_pthread.dylib+0x1804db888)
 #5 0x0000000185380850 (/usr/lib/system/libsystem_c.dylib+0x1803e0850)
 #6 0x000000010526fb14 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100553b14)
 #7 0x000000010aa9110c (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x105d7510c)
 #8 0x000000010aa9100c (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x105d7500c)
 #9 0x0000000105716fe8 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x1009fafe8)
#10 0x0000000105714cd8 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x1009f8cd8)
#11 0x0000000105732ba0 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100a16ba0)
#12 0x00000001057332a8 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100a172a8)
#13 0x00000001057324a8 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100a164a8)
#14 0x0000000105730d28 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100a14d28)
#15 0x000000010572fd74 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100a13d74)
#16 0x000000010572e414 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100a12414)
#17 0x00000001056c66f8 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x1009aa6f8)
#18 0x0000000105628afc (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x10090cafc)
#19 0x0000000105629a08 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x10090da08)
#20 0x000000010562720c (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x10090b20c)
#21 0x000000010562c8d8 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x1009108d8)
#22 0x000000010562cdf8 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100910df8)
#23 0x0000000105734368 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100a18368)
#24 0x0000000105630f80 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100914f80)
#25 0x000000010562d0f8 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x1009110f8)
#26 0x0000000105019810 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x1002fd810)
#27 0x000000010502aa88 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x10030ea88)
#28 0x000000010501d660 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100301660)
#29 0x000000010501adbc (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x1002fedbc)
#30 0x0000000104d55b54 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100039b54)
#31 0x00000001850b1d54
make: *** [build/_Concurrency.swiftmodule] Error 6

It didn't really happen for the other functions like swift_task_switch which once I got the signature right (forgot to make it thin) seem to have worked?

It is fixed by just using this version directly in the 4 places the declaration was used at least

Except then it turns out async main is hardcoded in the compiler to look for that declaration specifically and with its exact signature (the Builtin versions of these), which is really annoying, so I have to also define a _swiftJobRun which converts these if I want async main to work — assuming I figure out why it's complaining about the return type.

I suppose I will have to patch the compiler after all :cry:

Crash
Assertion failed: (swiftJobRunFuncDecl && "Failed to find swift_job_run function decl"), function emitAsyncMainThreadStart, file SILGenFunction.cpp, line 1527.
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0.	Program arguments: /Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend -frontend -c src/main.swift src/rogue.swift -target armv6-none-none-eabi -disable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -I build -color-diagnostics -Xcc -fcolor-diagnostics -g -debug-info-format=dwarf -dwarf-version=4 -nostdimport -nostdlibimport -swift-version 6 -O -D SWIFT_STDLIB_ENABLE_UNICODE_DATA -define-availability "SwiftStdlib 9999:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.0:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.1:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.2:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.3:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.4:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.5:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.6:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.7:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.8:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.9:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 5.10:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 6.0:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 6.1:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 6.2:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 6.3:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftStdlib 6.4:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftCompatibilitySpan 5.0:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "SwiftCompatibilitySpan 6.2:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 9999:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.0:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.1:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.2:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.3:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.4:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.5:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.6:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.7:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.8:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.9:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 5.10:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 6.0:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 6.1:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 6.2:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 6.3:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -define-availability "StdlibDeploymentTarget 6.4:macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, visionOS 1.0" -disable-stack-protector -import-module _Unicode -import-module _Volatile -import-module _Concurrency -enable-experimental-feature BuiltinModule -enable-experimental-feature Extern -enable-experimental-feature SymbolLinkageMarkers -enable-experimental-feature ValueGenerics -enable-experimental-feature LifetimeDependence -enable-experimental-feature Lifetimes -enable-experimental-feature RawLayout -enable-experimental-feature Volatile -enable-experimental-feature ReferenceBindings -enable-experimental-feature MoveOnlyTuples -enable-experimental-feature MoveOnlyClasses -enable-experimental-feature StructLetDestructuring -enable-experimental-feature CompileTimeValues -enable-experimental-feature BorrowAndMutateAccessors -enable-experimental-feature BorrowInout -enable-experimental-feature BorrowingSequence -enable-experimental-feature ThenStatements -enable-experimental-feature AddressableTypes -enable-experimental-feature AddressableParameters -enable-experimental-feature Reparenting -enable-experimental-feature TypedThrows -enable-experimental-feature StaticExclusiveOnly -enable-experimental-feature Embedded -enable-experimental-feature EmbeddedExistentials -strict-memory-safety -empty-abi-descriptor -file-compilation-dir /Users/teampuzel/retro/ds -Xcc -fmodule-map-file=sdk/sys/module.modulemap -Xcc -fmodule-map-file=sdk/shims/module.modulemap -Xcc -I/opt/devkitpro/libctru/include -Xcc -I/opt/devkitpro/devkitARM/arm-none-eabi/include -Xcc -mfloat-abi=hard -Xcc -mfpu=vfp -Xcc -mcpu=mpcore -Xcc -march=armv6k -Xcc -fshort-enums -no-auto-bridging-header-chaining -module-name Hello -in-process-plugin-server-path /Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -plugin-path /Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/lib/swift/host/plugins -plugin-path /Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/local/lib/swift/host/plugins -parse-as-library -o build/Hello.o -cross-module-optimization
1.	Apple Swift version 6.4-dev (LLVM a3655ee8d8c4d74, Swift d13cbbfd336f246)
2.	Compiling with the current language version
3.	While evaluating request ASTLoweringRequest(Lowering AST to SIL for module Hello)
4.	While silgen emitArtificialTopLevel SIL function "@main".
 for '$main()' (at src/main.swift:5:1)
 #0 0x0000000108b06fd4 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x105dfafd4)
 #1 0x0000000108b052f0 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x105df92f0)
 #2 0x0000000108b07a64 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x105dfba64)
 #3 0x0000000185485764 (/usr/lib/system/libsystem_platform.dylib+0x1804e5764)
 #4 0x000000018547b888 (/usr/lib/system/libsystem_pthread.dylib+0x1804db888)
 #5 0x0000000185380850 (/usr/lib/system/libsystem_c.dylib+0x1803e0850)
 #6 0x000000018537fa84 (/usr/lib/system/libsystem_c.dylib+0x1803dfa84)
 #7 0x0000000108b35698 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x105e29698)
 #8 0x00000001036b88f4 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x1009ac8f4)
 #9 0x0000000103618760 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x10090c760)
#10 0x000000010361cb14 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100910b14)
#11 0x000000010361cdf8 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100910df8)
#12 0x0000000103724368 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100a18368)
#13 0x0000000103620f80 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100914f80)
#14 0x000000010361d0f8 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x1009110f8)
#15 0x0000000103009810 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x1002fd810)
#16 0x000000010301aa88 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x10030ea88)
#17 0x000000010300d660 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100301660)
#18 0x000000010300adbc (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x1002fedbc)
#19 0x0000000102d45b54 (/Users/teampuzel/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2026-03-16-a.xctoolchain/usr/bin/swift-frontend+0x100039b54)
#20 0x00000001850b1d54
make: *** [build/Hello.o] Error 6

The crash message is a little misleading since, reading the compiler source, it's not looking for swift_job_run at all. It's also looking for the Swift, not C++ signature.

I'd like to do that but it seems to be caused by something I can't figure out even in a general sense — it works in compiler explorer for example. I don't know how to determine what's going on enough to make a snippet out of it :pensive_face:

  *** SIL module after #15229, stage Mandatory Diagnostic Passes + Enabling Optimization Passes, pass 46: DeadFunctionAndGlobalElimination (sil-deadfuncelim)
// main
// Isolation: global_actor. type: MainActor
sil [ossa] @main : $@convention(c) (Int32, UnsafeMutablePointer<Optional<UnsafeMutablePointer<Int8>>>) -> Int32 {
bb0(%0 : $Int32, %1 : $UnsafeMutablePointer<Optional<UnsafeMutablePointer<Int8>>>):
  // function_ref specialized swift_createExecutors
  %2 = function_ref @$e21swift_createExecutorss23PlatformExecutorFactoryV_Ttg5 : $@convention(thin) () -> () // user: %3
  %3 = apply %2() : $@convention(thin) () -> ()
  // function_ref async_Main
  %4 = function_ref @async_Main : $@convention(thin) @async () -> () // user: %13
  %5 = integer_literal $Builtin.Int32, 2048       // user: %6
  %6 = struct $Int (%5)                           // user: %15
  %7 = enum $Optional<Builtin.Executor>, #Optional.none!enumelt // user: %15
  %8 = enum $Optional<Builtin.RawPointer>, #Optional.none!enumelt // user: %15
  %9 = enum $Optional<Builtin.Executor>, #Optional.none!enumelt // user: %15
  %10 = enum $Optional<any TaskExecutor>, #Optional.none!enumelt // user: %15; ownership: none
  %11 = enum $Optional<Builtin.RawPointer>, #Optional.none!enumelt // user: %15
  // function_ref thunk for @escaping @convention(thin) @async () -> ()
  %12 = function_ref @$eIetH_yts5Error_pIegHrzo_TR : $@convention(thin) @async (@convention(thin) @async () -> ()) -> (@out (), @error any Error) // user: %13
  %13 = partial_apply [callee_guaranteed] %12(%4) : $@convention(thin) @async (@convention(thin) @async () -> ()) -> (@out (), @error any Error) // user: %14
  %14 = convert_function %13 to $@async @callee_guaranteed @substituted <τ_0_0> () -> (@out τ_0_0, @error any Error) for <()> // user: %15
  %15 = builtin "createAsyncTask"<()>(%6, %7, %8, %9, %10, %11, %14) : $(Builtin.NativeObject, Builtin.RawPointer) // user: %16
  (%16, %17) = destructure_tuple %15              // user: %19
  // function_ref _swiftJobRun(_:_:)
  %18 = function_ref @$es12_swiftJobRunyyBj_BetF : $@convention(thin) (Builtin.Job, Builtin.Executor) -> () // user: %21
  %19 = builtin "convertTaskToJob"(%16) : $Builtin.Job // user: %21
  %20 = builtin "buildMainActorExecutorRef"() : $Builtin.Executor // user: %21
  %21 = apply %18(%19, %20) : $@convention(thin) (Builtin.Job, Builtin.Executor) -> ()
  // function_ref swift_task_asyncMainDrainQueue
  %22 = function_ref @swift_task_asyncMainDrainQueue : $@convention(thin) () -> Never // user: %23
  %23 = apply %22() : $@convention(thin) () -> Never
  unreachable                                     // id: %24
} // end sil function 'main'

It is still weird here that it's trying to call the hardcoded lookup to _swiftJobRun instead of the runtime function but I doubt that's the issue. It doesn't look that different from what what happens (and works) on x86 compiler explorer with a simple async main function.

Well, that was way too boring, I just got it to build with C++ instead after all :disappointed_face:

It does fail to link properly though, all of the runtime functions like swift_job_run are missing, and I only see swift_job_runImpl etc defined anywhere in the repository

Where do those actually come from?


Oh...

/// Execute the specified job while running on the specified executor.
static inline void swift_job_run(SwiftJob * _Nonnull job,
                                 SwiftExecutorRef executor) {
  extern void _swift_job_run_c(SwiftJob * _Nonnull job,
                               SwiftExecutorRef executor);

  _swift_job_run_c(job, executor);
}

I'm confused, it's local to the translation unit?

FWIW, I managed to get _Concurrency building without mixed-source targets, which is in my very experimental swift-standard-library package.

That's like to be a very big task, because there's a lot of hairy concurrent code in there.

At the moment, we end up writing out the heap object layout in a C shim header.

Doug

1 Like