Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This probably should have been removed when $SAFE was removed, but there are a few places where it was still used.
Deprecate Ruby-level reference to SecurityError using the standard rb_deprecate_constant. Deprecate C-level reference to rb_eSecurityError by renaming to rb__eSecurityError, and adding a rb_eSecurityError macro that warns on GCC and clang (not sure if the approach used will work on other compilers).
Remove dead code referencing rb_eSecurityError in rb_reg_initialize, since all literal regexps are now frozen.
The only code inside Ruby that was actually using SecurityError was the setuid/setgid checks will processing command line options. Since these exceptions could not be rescued in normal use, switch to RuntimeError, since doing so shouldn't break backwards compatibility.
Fix fallout in specs.
Add note to remove SecurityError in Ruby 3.4.