Actions
Feature #14168
closedC call to raise FrozenError
Status:
Closed
Assignee:
-
Target version:
-
Description
Currently we need to check the object is frozen or not by isFrozen
and raise error (RuntimeError or FrozenError) under its own responsibility.
Providing such c function makes us to write much safer code/extensions.
/* now */
if (OBJ_FROZEN(self)) {
rb_raise(rb_eRuntimeError, "can't modify frozen Factory");
}
/* what I want to do */
assert_is_not_frozen("MyAwesomeClass"); // raises RuntimeError (~2.4) or FrozenError (2.5~) if it is frozen
// or
assert_is_not_frozen(self); // classname? self VALUE?
I want to reduce macros for ruby versions in out C extensions, so this feature will help us so much.
Actions
Like0
Like0Like0