Actions
Bug #11055
closedautoload resets private_constant
Bug #11055:
autoload resets private_constant
ruby -v:
50203
Description
Files
Actions
Added by nobu (Nobuyoshi Nakada) over 11 years ago. Updated over 6 years ago.
Description
Files
| const-visibility-before-autoload-11055.patch (3.93 KB) const-visibility-before-autoload-11055.patch | jeremyevans0 (Jeremy Evans), 08/12/2019 03:59 AM |
I doubt dropping the existing constant visibility information is intentional behavior. You can work around the current behavior by resetting private_constant/deprecate_constant inside the autoloaded file, but that leads to duplication.
Attached is a patch that will copy the constant visibility information across the autoload.
I agree with fixing this. Nobu will investigate the patch and consider the issue detail.
Matz.
Applied in changeset git|47c97e1e843159c3c4d57f8c5e22daea57c3ffe1.
Do not lose existing constant visibility when autoloading
This copies the private/deprecate constant visibility across the
autoload. It still is backwards compatible with setting the
private/deprecate constant visibility in the autoloaded file.
However, if you explicitly set public constant in the autoloaded
file, that will be reset after the autoload.
Fixes [Bug #11055]