Upon re-reading my message, I realised I could have explained
my source of confusion better. So, if I may clarify my question:
If `B<'c, 'd, 'e>` is intended to be equivalent to what's currently
written `B/c/d/e`, does this mean that struct B would be declared
something like this:
struct B<'X, 'Y, 'Z>
?
That is, a template with 3 independent lifetime parameters?
In which case, what would be a hypothetical example which might
require 3 lifetime parameters?
I can understand the purpose of a single lifetime parameter that
corresponds to the lifetime of the struct instance, such as in the
example:
struct StringReader<&self>
but I can't think of an example involving 3 independent lifetime
parameters at the struct definition level.
Or have I misunderstood what `B<'c, 'd, 'e>` is meant to mean?
Thanks,
jb
On Sun, Jan 27, 2013 at 1:26 AM, James Boyden <[email protected]> wrote:
> On Thu, Jan 24, 2013 at 10:00 AM, Niko Matsakis <[email protected]> wrote:
>> The slashes are visually hard to parse, I think everyone agrees. Imagine
>> this: `&a/B/c/d/e`. That would be a legal type under that proposal and I
>> think it's pretty darn confusing vs `&'a B<'c, 'd, 'e>`
>
> Hi,
>
> This is a very interesting discussion. I'm also new to the concept of
> lifetime parameters, but as a frustrated longtime C++ programmer, I
> appreciate the concept.
>
> Unfortunately, having studied these pages:
>
> http://static.rust-lang.org/doc/tutorial-borrowed-ptr.html#returning-borrowed-pointers
> http://static.rust-lang.org/doc/tutorial-borrowed-ptr.html#named-lifetimes
> http://smallcultfollowing.com/babysteps/blog/2012/12/30/lifetime-notation/
>
> http://smallcultfollowing.com/babysteps/blog/2013/01/15/lifetime-notation-redux/
>
> I still find myself no closer to understanding what `B<'c, 'd, 'e>`
> would practically mean, nor how it would be realistically used.
>
> Would you be able to clarify?
>
> Thanks,
> jb
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev