ok thanks, I think I did understand it ok: I think that simply points to āfurther controlā from the 'a ā¦I did get that for<> creates a label.
for<'a> fn outer( s:& 'a str , inner: for<'b> fn(&'b str)->Y , other_context:Z ) -> X
this example highlights why I think a straightforward 'shortest (or 'temp, whatever ideas there are for a catch name) would be highly beneficial
Imagine if you could just write
fn outer(s:&'temp str , inner: fn(&'temp str)->Y, other_context:Z) -> X
ā¦and you donāt have to read/write back and forth to locate the meaning of 'a, 'b in this example. Specifically to create my personal ādefaultā expectation, I would have to have created two labels in this example. What Iām suggesting is to reduce the need for specific labels to shared, escaping lifetimes.
Itās not so much the character count: itās the fact that creating and referencing specific labels (which themselves must appear inside angle brackets off to one side) introduces extra mental steps in comprehension. I personally find that moving in and out of nesting bracket levels ācostsā a lot more than the simple character count might suggest ⦠(this is why Iām always going on about the original sigils, I think removing those was a terrible loss)
Another idea would be an equivalent temp_ref<T> type that can just be used/renamed as you want⦠thatsā messier because thereās a nesting involved again, but at least the intent is still localized and you donāt need to name something onsite
fn outer(s:temp_ref<str> , inner: fn(temp_ref<str>)->Y, other_context:Z) -> X