Thanks @hsbt. For the archives, I'd like to add something to > This breaks Zeitwerk's implicit namespaces The main idea in Zeitwerk is: 1. Scan the filesystem 2. Set autoloads accordingly 3. React to constants being autolod...fxn (Xavier Noria)
Hey, just saw this ticket. I wanted to share as a curiosity that Perl has this: You can store coderefs in `@INC`. That gives you plenty of flexibility. For example, the Perl Archive Toolkit provides a way to ship projects in one si...fxn (Xavier Noria)
Just in case it matters, let me also add that it is assumed that `Module#autoload` invokes `Kernel#require` as introduced in [cd465d5](https://github.com/ruby/ruby/commit/cd465d552c3a00341f4cb7f1d7a793d0ebcb6cde). Zeitwerk relies on thi...fxn (Xavier Noria)
If you enable `Ruby::Box`, decorations to `Kernel#require` do not work. For example, given _foo.rb_: ```ruby module M def require(_path) puts 'decorated' super end end Kernel.prepend(M) p require 'tsort' ``...fxn (Xavier Noria)
Hi there! @byroot knows this, but for anyone reading, Zeitwerk essentially scans the file system and sets autoloads for the expected constants. This feature is going to be great. As in the general case described in the issue descriptio...fxn (Xavier Noria)
BTW, I do not know if you know it, but while I started working on Zeitwerk to fix autoloading in Rails, I changed my mind in the mid of it and decided to do something more generic that supports multiple autoloaders in the same process ma...fxn (Xavier Noria)