pub const RESERVED_ID_CHARS: [char; 1];Expand description
Bytes an identifier may not contain, and where each is load-bearing.
| joins a link’s entity key in transaction_log. Structural, not
cosmetic — a collision produces a wrong answer with no error.
/ was reserved here through 0.5.6 and is free again as of 0.6.0
(T0.1, D-076). It existed for exactly one reason: the traversal CTE
carried a path column of visited ids, delimited by /, and D-061 reserved
the character so the cycle check could match a whole element rather than a
substring once ids became variable-length. T0.1 deleted the path column —
the walk dedupes on entry instead — so nothing in the crate delimits with
/ any more, and continuing to refuse it would be a constraint kept for a
mechanism that no longer exists.
Relaxing is safe in the direction that matters: ids previously refused are now accepted, so no stored id becomes invalid and no migration is implied. Adding a character back later would not be safe, which is why this list is worth keeping short.