On May 11, 2011, at 3:06 PM, Piotr Szturmaj wrote:

> Andrei Alexandrescu wrote:
>> * can you implement save() to make this a forward range (e.g. by
>> creating a new fiber that has its own state)?
> 
> It is not that simple I guess. Fiber class doesn't give any opportunity to 
> save current stack and I think it might be wrong to do this, because of GC 
> issues. But I don't certainly know.
> 
> I think that author of the Fiber class could answer this better than me.
> If Fiber will expose some additional API, then I would certainly implement 
> save().

Cloning a Fiber would essentially produce a shallow copy--if the Fiber's stack 
contains references to data elsewhere on the same stack, the clone's stack 
would reference the original's.  So while this could be done, I don't think 
it's advisable.

Reply via email to