Within _check_superclass_constructor, the $class variable is assumed to be an actual unblessed class all the time. This isn't always the case. It's perfectly legal to call $object->new to get a new object, and $class would then be a blessed object.
Because of this, it fails with strange error messages like:
The constructor for DBIx::Class::ResultSet returned an object whose class is not a parent of 109394.
The isa check here relies on $class stringification, which is wrong.
Okay, actually, the resulting object in this case is indeed a different class that would have failed the isa check. So, this is less severe than I thought, and is mostly an error stringification issue.
Within
_check_superclass_constructor
, the$class
variable is assumed to be an actual unblessed class all the time. This isn't always the case. It's perfectly legal to call$object->new
to get a new object, and$class
would then be a blessed object.Because of this, it fails with strange error messages like:
The isa check here relies on $class stringification, which is wrong.