Remember that `FileUtils` is loaded dynamically, so it would be something like ```ruby class Pathname def mkdir_p(...) = _fileutils(:mkdir_p, ...) def ln(...) = _fileutils(:ln, ...) def ln_s(...) = _fileutils(:ln_s, ...) ...Dan0042 (Daniel DeLorme)
Ruby already has an API for this: `Process._fork` If your Fiber scheduler needs to be reset after a fork, I would recommend hooking into this.Dan0042 (Daniel DeLorme)
mame (Yusuke Endoh) wrote in #note-13: > My concern is that the expectation to "if it's at all possible to raise early" is a slippery slope with no clear boundary. I don't think it's slippery at all. There's a very clear difference betw...Dan0042 (Daniel DeLorme)
> If an operation hangs, let it hang. I don't agree with that. If an operation crashes, yes, let it crash. But if it hangs, that's an order of magnitude or two harder to debug. Even more so if the "hang" is accompanied by unrestrained m...Dan0042 (Daniel DeLorme)
@mame, this PR causes `Set.new(1..1/0.0)` to hang rather than raise an error. The unit test for this was removed: https://github.com/ruby/ruby/pull/14990/files#diff-841852fda8de5c29b86810572be72d6e29cda4a2f3d179c63b77fb6fb06d09dfL91-L93 ...Dan0042 (Daniel DeLorme)
Eregon (Benoit Daloze) wrote in #note-27: > If the gem is a noop then of course it would not matter, but I'm unsure if the gem should be a noop. I can't answer if it "should", but at least that's how it works with `set`, so at least ...Dan0042 (Daniel DeLorme)
Ah, thank you very much, now I see it. So this #4 issue could be solved by implementing the 3 methods as shims that load the necessary dependencies, which then allows pathname to do `rb_provide("pathname.rb")`Dan0042 (Daniel DeLorme)
> It's normal behavior when moving from stdlib to core that `rb_provide` is used to make it appear that the library has already been loaded. Having `set.rb` in `$"` makes it so code that uses `require 'set'` does not cause files to be lo...Dan0042 (Daniel DeLorme)
> The issue with `Pathname` is that it was not fully converted to core, only partially converted. Yes that's the issue with the 3 methods missing from core Pathname, but @eregon's point 4 was about conflicts when `require "pathname"` ...Dan0042 (Daniel DeLorme)