A pointer and an untagged union are to take a byte fill

This commit is contained in:
Joseph Ferano 2026-09-25 09:55:07 +07:00
parent 81569b60d8
commit 9650f331d6

View File

@ -652,7 +652,8 @@ it would entail =ordered?= and =equal?= and not =numeric?=, so the cast rule
becomes a disjunction and the refusal has to name whichever the reader meant. Each becomes a disjunction and the refusal has to name whichever the reader meant. Each
part of that is a decision and the author has not been asked. part of that is a decision and the author has not been asked.
** TODO The Ptr and union arms of the fill boundary are relaxable ** NEXT The Ptr and union arms of the fill boundary are relaxable
Decided 2026-09-25: relax both. A =Ptr= may be byte-filled, a poisoned pointer being the useful case, and an untagged union is filled over its whole size.
What may be byte-filled is numbers, and structs and fixed arrays of numbers. What may be byte-filled is numbers, and structs and fixed arrays of numbers.
A =Ptr= is refused so the rule stays one sentence, and an untagged union A =Ptr= is refused so the rule stays one sentence, and an untagged union
because the walk goes over a struct's fields rather than a union's members. because the walk goes over a struct's fields rather than a union's members.