Question about OSSA, `destroy_value`, and `unowned_release`

the current SIL docs say this regarding the destroy_value instruction (emphasis mine):

For trivial types, this is a no-op. For reference types, this is equivalent to a strong_release. For @unowned types, this is equivalent to an unowned_release. In each of these cases, those are the preferred forms.

then in the docs for unowned_release it says:

This instruction is not available in OSSA.

what does it mean exactly that unowned_release is both the "preferred form" of destroying an @unowned value, and that it is not available in OSSA? does a destroy_value of an @unowned value get lowered to unowned_release at some stage in the pipeline (post OSSA?)?

It means the first link you cited is out of date.

Yep.

1 Like

thanks for the confirmation – any sense of what more accurate wording would be? should the "preferred form" comments just be removed?