A minor syntactic remark: I believe it is quite unusual to introduce a generic lifetime without angle brackets (<'a>
). As far as I understand, in your proposition 'a
would be any lifetime but T
would be a specific concrete type. Correct?
Concerning another aspect I'm wondering if the redundancy between mutable and immutable reference specialization is not once again begging for generic mutability. There was a discussion about this long ago (see also there) but I'm not aware of any proposed RFC.