diff --git a/Sources/StructuredQueriesCore/Never.swift b/Sources/StructuredQueriesCore/Never.swift index 971af9cb..915a4b4c 100644 --- a/Sources/StructuredQueriesCore/Never.swift +++ b/Sources/StructuredQueriesCore/Never.swift @@ -25,3 +25,5 @@ extension Never: Table { private struct NotDecodable: Error {} } + +extension Never: _Selection {} diff --git a/Sources/StructuredQueriesCore/Optional.swift b/Sources/StructuredQueriesCore/Optional.swift index 0d084333..0788504a 100644 --- a/Sources/StructuredQueriesCore/Optional.swift +++ b/Sources/StructuredQueriesCore/Optional.swift @@ -183,6 +183,8 @@ extension Optional: Table, PartialSelectStatement, Statement where Wrapped: Tabl public typealias Selection = Wrapped.Selection? } +extension Optional: _Selection where Wrapped: _Selection {} + extension Optional: PrimaryKeyedTable where Wrapped: PrimaryKeyedTable { public typealias Draft = Wrapped.Draft? } diff --git a/Sources/StructuredQueriesCore/TableAlias.swift b/Sources/StructuredQueriesCore/TableAlias.swift index fdaedc0a..2caba556 100644 --- a/Sources/StructuredQueriesCore/TableAlias.swift +++ b/Sources/StructuredQueriesCore/TableAlias.swift @@ -183,6 +183,8 @@ public struct TableAlias< } } +extension TableAlias: _Selection where Base: _Selection {} + extension TableAlias: PrimaryKeyedTable where Base: PrimaryKeyedTable { public typealias Draft = TableAlias }