low.borrow
← low dialect
Project an owning managed reference into an independent pointer carrier of the same nominal payload. The owner remains valid and keeps its explicit lifetime. The pointer remains live through its final use: emission acquires protection unless a covering owner is proven. This safe operation does not expose an unchecked machine borrow.
Operation contract
| Property |
Value |
| Semantic phase |
executable |
| Traits |
ObservableEffect |
| Ownership effects |
borrow owner (by_value), alias pointer from owner |
Signature
| Kind |
Name |
Type |
Cardinality |
Description |
| Operand |
owner |
register |
required |
— |
| Result |
pointer |
register |
required |
— Produces a fresh allocation. |
Examples
%pointer = low.borrow %owner : reg<vm.ref : ref<@Frame>> -> reg<vm.ref : ptr<@Frame>>