From 8ed67c510d844a0a84bfd366b6577411809cd3f8 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Wed, 2 Sep 2026 20:58:12 +0200 Subject: [PATCH] State the scope of the generic timestamptz-set restrictions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit temporal_at_tstzset and temporal_minus_tstzset are generic over Temporal * and serve every temporal type, as temporal_at_values and temporal_minus_values beside them do. Their siblings state a scope through the validity check they call — temporal_at_tstzspan through a span check, temporal_delete_tstzset through a set one — and these two call none, so nothing derives a scope for them and they are declared here. The declaration is what a shared wrapper requires. Temporal_at_tstzset carries one claimant today, so nothing consults the entry and no function's signatures move; a second claimant makes it shared, and require_scopes then refuses to generate a catalog rather than let either claimant take the union. --- meta/type-scope.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/meta/type-scope.json b/meta/type-scope.json index 41e2e8a..5aadef5 100644 --- a/meta/type-scope.json +++ b/meta/type-scope.json @@ -14,6 +14,14 @@ "types": "*", "note": "Generic over Temporal *: the complement of temporal_at_values." }, + "temporal_at_tstzset": { + "types": "*", + "note": "Generic over Temporal *: restricts any temporal type to a timestamptz set. Its siblings state a scope through the validity check they call, and this one calls none." + }, + "temporal_minus_tstzset": { + "types": "*", + "note": "Generic over Temporal *: the complement of temporal_at_tstzset, stating no validity check of its own either." + }, "temporal_end_instant": { "types": "*", "note": "Generic over Temporal *: accessor on any temporal type."