@Araq, there is a further minor omission in the spec 2 in that lent is not 
described as tp what it's for anywhere even though it is used in the motivating 
example: I assume that it is to be used in the type signature for a return 
value to indicate that the returned value is not the default sink and it will 
therefore have copy semantics when assigned to a binding rather than move 
semantics.

Question: Can it be combined with var and if so what does that indicate, an 
implied passing of the reference to the return value rather than the value 
itself and that therefore the first argument should not be destroyed if the 
lent value refers to it or is contained within it? I assume that if it can be 
used with var then the meaning is the same as using var return values: the 
assigned var would be an implicit pointer to the returned value rather than the 
returned value itself, which means that the value referenced by the var must 
outlive this reference as per the rules for var return type in the manual

This extra lent qualification should be spelled out somewhere...

Reply via email to