I see. Hm that complicates things. Idk how practical that would be, but how about something like this: type PMemPtr[T] = distinct int var pmemHeapStart: ByteAddress proc `[]`[T](pmemPtr: PMemPtr[T]) = cast[ptr T](cast[ByteAddress](pmemPtr) + pmemHeapStart)[] proc test(a: PMemPtr[SomeType]) = a[].field = 42 Run
- relative "based/biased" long pointers and data stru... dponyatov
- relative "based/biased" long pointers and data... dponyatov
- relative "based/biased" long pointers and ... doofenstein
- relative "based/biased" long pointers ... dponyatov
- relative "based/biased" long point... dponyatov
- relative "based/biased" long ... doofenstein
- relative "based/biased" l... dponyatov
- relative "based/biased&quo... cumulonimbus
- relative "based/biased&quo... Araq