>>   For example:
>>
>>     Thread[:foo] = :bar
>>     Fiber.new(derive_fiber_local_storage: true) do
>>       Thread[:foo] #=> :bar
>>     end
>>
>> And use Fiber in enumerator with this option true.
>
> I think the "true thread local" solution is better than this because I
> can use it with existing fiber based code.  If a third party library
> uses Fibers, and I want thread locals, it would not be possible with
> this solution.

I'm afraid compatibility breakage. mame-san said:

http://bugs.ruby-lang.org/issues/1717 comment#2
> I can't really remember the rationale, but I think that most of
> legacy libraries that uses thread-local storage will expect the
> storage to be also fiber-local.

I'm not surprised old libraries have different assumption with you.
share_fiber_local_storage: approach don't break anything.


But real question is, Are such old libraries still living in the wild? Who
uses? Who know?