Skip to content

Commit 15dfe08

Browse files
fix: Fix compiler error found on latest main that breaks wasip1 (wasm) compilation (#3271)
This is a quick simple fix for compiling NIOCore to wasm using the command `swift build --swift-sdk wasm32-unknown-wasip1-threads --target NIOCore`. This fixes all errors for `wasip1`, however there are other errors remaining in `main` when compiling for `wasi` using the command `swift build --swift-sdk wasm32-unknown-wasi --target NIOCore`. Those issues are out of scope for this PR. ### Motivation: I am working to enable wasm compilation for a wide range of repositories which depend on NIOCore. See [here](PassiveLogic/swift-web-examples#1) for a sneak peak. This change is required to enable compiling several respositories. ### Modifications: `.multicastNotSupported` is elided for `os(WASI)` builds in Channel.swift, however some new code referenced that case without proper `WASI` guards. This modification simply adds the appropriate elision guard to fix wasip1 builds for NIOCore. ### Result: After making this change, `swift build --swift-sdk wasm32-unknown-wasip1-threads --target NIOCore` builds again (assuming you have the appropriate wasm sdk installed).
1 parent 89be322 commit 15dfe08

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

Sources/NIOCore/Channel.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -458,8 +458,10 @@ extension ChannelError: CustomStringConvertible {
458458
"Bad interface address family"
459459
case let .illegalMulticastAddress(address):
460460
"Illegal multicast address \(address)"
461+
#if !os(WASI)
461462
case let .multicastNotSupported(interface):
462463
"Multicast not supported on interface \(interface)"
464+
#endif
463465
case .inappropriateOperationForState:
464466
"Inappropriate operation for state"
465467
case .unremovableHandler:

0 commit comments

Comments
 (0)