From 4c3ea7d418047c15eda141349ec1a41a09509f59 Mon Sep 17 00:00:00 2001 From: Alex Hoppen Date: Sat, 30 Aug 2025 09:24:00 +0200 Subject: [PATCH] Assert that no two message types with the same name are registered --- Sources/SWBProtocol/Message.swift | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Sources/SWBProtocol/Message.swift b/Sources/SWBProtocol/Message.swift index c32a01ad..bd0eb5de 100644 --- a/Sources/SWBProtocol/Message.swift +++ b/Sources/SWBProtocol/Message.swift @@ -1222,6 +1222,14 @@ public struct IPCMessage: Serializable, Sendable { /// Reverse name mapping. static let messageNameToID: [String: any Message.Type] = { var result = [String: any Message.Type]() + #if DEBUG + var seenMessageNames: Set = [] + for messageType in messageTypes { + if !seenMessageNames.insert(messageType.name).inserted { + assertionFailure("Multiple message types registered for same name: \(messageType.name)") + } + } + #endif for type in IPCMessage.messageTypes { result[type.name] = type }