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

Reply via email to