Skip to content

Commit 4b850ca

Browse files
committed
docs(kmir): clarify bridge projection comments
1 parent 412c1db commit 4b850ca

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

  • kmir/src/kmir/kdist/mir-semantics/rt

kmir/src/kmir/kdist/mir-semantics/rt/data.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,8 @@ The following rule resolves this situation by using the head element.
509509
=> #traverseProjection(DEST, VALUE, projectionElemField(IDX, TY) PROJS, CTXTS) ... </k> // TODO mark context?
510510
[preserves-definedness, priority(100)]
511511
512-
// Temporary bridge rule for the current mixed bare-value/Range representation.
512+
// Temporary bridge rule: after PointerOffset lifts a single value to Range(ListItem(...)),
513+
// unwrap a Union head element so the existing Union + Field rules below can keep running.
513514
rule <k> #traverseProjection(
514515
DEST,
515516
Range(ListItem(Union(_, _) #as VALUE) _REST:List),
@@ -659,7 +660,8 @@ Similar to `ConstantIndex`, the slice _end_ index may count from the _end_ or t
659660
andBool START <=Int size(ELEMENTS) -Int END
660661
[preserves-definedness] // Indexes checked to be in range for ELEMENTS
661662
662-
// Temporary bridge rule for the current mixed bare-value/Range representation.
663+
// Temporary bridge rule: PointerOffset is implemented below in terms of Range slicing, so
664+
// lift a single non-Range value to Range(ListItem(...)) to reuse that shared path.
663665
rule <k> #traverseProjection(
664666
DEST,
665667
VAL,

0 commit comments

Comments
 (0)