зеркало из https://github.com/github/ruby.git
struct.c (struct_ivar_get): add conditional for potential Qnil returned by rb_class_superclass
struct_ivar_get recently started using rb_class_superclass to resolve super instead of RCLASS_SUPER. This change made Qnil a possible case we need to return from within the struct_ivar_get for loop.
This commit is contained in:
Родитель
0d3fc08ff4
Коммит
4b9d10b833
2
struct.c
2
struct.c
|
@ -48,7 +48,7 @@ struct_ivar_get(VALUE c, ID id)
|
|||
|
||||
for (;;) {
|
||||
c = rb_class_superclass(c);
|
||||
if (c == 0 || c == rb_cStruct || c == rb_cData)
|
||||
if (c == 0 || c == rb_cStruct || c == rb_cData || c == Qnil)
|
||||
return Qnil;
|
||||
RUBY_ASSERT(RB_TYPE_P(c, T_CLASS));
|
||||
ivar = rb_attr_get(c, id);
|
||||
|
|
Загрузка…
Ссылка в новой задаче