right below that are the rules for linearity checking <https://austral-lang.org/spec/spec.html#linearity-checking> borrowing just defines a lifetime scope and converts a value back from linear to free within the scope (without allowing it to be destroyed.) that's all it does.
i found an article where someone was trying to do a similar bodge in rust <https://web.archive.org/web/20170509143318/https://gankro.github.io/blah/linear-rust/> but it looks like if you want to force use of a specific destructor you have to just put a bomb in the destroy hooks. i'll have to find something that implements linear types and see if its really something worth messing around with more. haven't made up my mind about them yet.