Skip to content

low.release

← low dialect

End the lifetime of a complete typed managed-reference carrier. The source identity is invalid afterward. An owned carrier releases its reference; a borrowed or null carrier is only cleared. A ptr carrier may hold compiler-acquired protection, which is released here without changing its borrowed source type. Native finalization occurs at this operation when the carrier holds the last owner.

Operation contract

Property Value
Semantic phase executable
Traits ObservableEffect
Ownership effects move value (by_value)

Signature

Kind Name Type Cardinality Description
Operand value register required —

Examples

low.release %owner : reg<vm.ref : ref<@Object>>