Does this also mean that we will not enhance const_missing to support
nested modules?

I think it is still possible to make require itself threadsafe, if we use a
single lock for requires, as Charlie Nutter has previously proposed.
Honestly, if we improve const_missing and make `require` capable of being
threadsafe, it will be easy to implement autoload in terms of those
primitives.

Yehuda Katz
(ph) 718.877.1325


On Fri, Nov 18, 2011 at 11:11 PM, Yukihiro Matsumoto <matz / ruby-lang.org>wrote:

> Hi,
>
> Today, I talked with NaHi about enhancing const_missing to enable
> autoload-like feature with nested modules.  But autoload itself has
> fundamental flaw under multi-thread environment.  I should have remove
> autoload when I added threads to the language (threads came a few
> months after autoload).
>
> So I hereby declare the future deprecation of autoload.  Ruby will
> keep autoload for a while, since 2.0 should keep compatibility to 1.9.
> But you don't expect it will survive further future, e.g. 3.0.
>
> I strongly discourage the use of autoload in any standard libraries.
>
>                                                        matz.
>
>