-
Notifications
You must be signed in to change notification settings - Fork 440
#1217 is broken with make install
in ruby/ruby
#1221
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Sorry for the trouble. I'll investigate in the morning. |
Thanks to your work. I will sync this feature when issue is resolved. |
I've diagnosed the problem, which is related to setting Note that this bug is showing up in the I'll create a PR shortly. |
It is necessary for ClassModule's instance variable @superclass to always be a String (or nil) so that the class can be saved with `#marshal_dump` and loaded with `#marshal_load`. However, there's no type checking being done, which allows a bug like the one reported in ruby#1221 (which was introduced in ruby#1217) that sets superclass to a ClassModule. That bug requires: - setting a superclass to a NormalClass - marshal_save - marshal_load (which raises an exception) With this change, passing a ClassModule to ClassModule#superclass= is explicitly allowed by saving the full name of the ClassModule in the @superclass instance variable.
See #1222 |
Ah I was wondering why I couldn't reproduce the issue locally 😭 |
It is necessary for ClassModule's instance variable @superclass to always be a String (or nil) so that the class can be saved with `#marshal_dump` and loaded with `#marshal_load`. However, there's no type checking being done, which allows a bug like the one reported in #1221 (which was introduced in #1217) that sets superclass to a ClassModule. That bug requires: - setting a superclass to a NormalClass - marshal_save - marshal_load (which raises an exception) With this change, passing a ClassModule to ClassModule#superclass= is explicitly allowed by saving the full name of the ClassModule in the @superclass instance variable.
@flavorjones @st0012
#1217 is broken with
make install
ofruby/ruby
. I reverted that commit at ruby/ruby@0fe82aehttps://github.com/ruby/actions/actions/runs/12108034481/job/33755653615#step:23:1031
Can you look that?
The text was updated successfully, but these errors were encountered: