I think the meaning of [[nrvo]] as discussed in this thread was not just a performance optimization, but to allow modification after construction of non-moveable objects.
Alright fair point; we can't reasonably use ignorable attributes to enable NRVO for immovable objects.
In any other situation, I think an attribute would work just fine.