I would find it useful for myself. I cannot talk for others.
As a contract similar to no_panic I would find it more useful than Always Diverges, Never Returns, or Might Return.
Besides its consideration as contract it has other interesting properties. Mainly, when types are considered as propositions it would admit implementability only of true propositions. In this way it equates programming with theorem proving. A program would be a proof, as in Coq.
We could try then to exploit the existence of proofs as objects in the language. This would make explicit the contracts of some structures. I think this would only be actually useful if we additionally had dependant types. Then it could be possible to write code like this:
struct BoundedPair{
x: usize,
y: usize,
bound: LESS_THAN(x+y,5),
}
or this:
fn reduce_exploiting_commutativity(list:&Vec<usize>, f:Fn(usize,usize)->usize, proof:COMMUTES(f) ) -> usize{
...
}
LESS_THAN and COMMUTES would include an always_return in their definition. Just the presence of bound and proof would already give a guarantee about the integrity of the data. One only would operate with them to build proofs for derivate facts.
Would help someone to have proofs embedded in their data structures? Although the hardness of building proofs would scare many people away.
Thus, from the properties that one could want to check in a function, always_returns is for me the one with the deepest meaning.
Possibly it is senseless to implement all of this in Rust. And there are other languages that implement these ideas. But I would never call it pretty meaningless.