Closed
Description
It has been noted on several occasions, e.g. rust-lang/rust#53491 (comment) and rust-lang/rust#53491 (comment) that "valid" is prone to confusion with "safe" due to the way the former sounds. In particular, it raises the question "Valid with respect to what"?
Thus it is probably a good idea to rename one or the other into something else.
@RalfJung suggested "initialization invariant" (because any initialized T
must satisfy such invariants) as a replacement of "validity invariant" while I suggested "machine invariant" (because it signifies the invariants the abstract machine requires of a T
). If we rename validity to either of those then "safety" might not need renaming; but if it does, "type system invariant" may be one candidate.