Skip to content

Commit b44167b

Browse files
author
vijaysharm
committed
Allow for subtypes to be sendable
1 parent ebe003a commit b44167b

File tree

3 files changed

+5
-0
lines changed

3 files changed

+5
-0
lines changed

CodeGen/Sources/LucidCodeGen/Meta/MetaSubtype.swift

+1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ struct MetaSubtype {
5050
let type = Type(identifier: subtype.typeID())
5151
.with(accessLevel: .public)
5252
.adding(inheritedType: .codable)
53+
.adding(inheritedType: subtype.sendable ? .sendable : nil)
5354
.adding(inheritedType: .hashable)
5455

5556
switch subtype.items {

CodeGen/Sources/LucidCodeGenCore/Codable.swift

+2
Original file line numberDiff line numberDiff line change
@@ -757,6 +757,7 @@ extension Subtype: Codable {
757757
case objc
758758
case objcNoneCase
759759
case platforms
760+
case sendable
760761
}
761762

762763
public init(from decoder: Decoder) throws {
@@ -765,6 +766,7 @@ extension Subtype: Codable {
765766
name = try container.decode(String.self, forKey: .name)
766767
manualImplementations = Set(try container.decodeIfPresent([`Protocol`].self, forKey: .manualImplementations) ?? [])
767768
platforms = try container.decodeIfPresent(Set<Platform>.self, forKey: .platforms) ?? DescriptionDefaults.platforms
769+
sendable = try container.decodeIfPresent(Bool.self, forKey: .sendable) ?? DescriptionDefaults.sendable
768770

769771
if let usedCases = try container.decodeIfPresent([String].self, forKey: .cases) {
770772
let unusedCases = try container.decodeIfPresent([String].self, forKey: .unusedCases) ?? []

CodeGen/Sources/LucidCodeGenCore/Descriptions.swift

+2
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,8 @@ public struct Subtype: Equatable {
645645
public let objc: Bool
646646

647647
public let platforms: Set<Platform>
648+
649+
public let sendable: Bool
648650
}
649651

650652
// MARK: - Conversions

0 commit comments

Comments
 (0)