On 12/31/21 11:22, Andrew Dunstan wrote:
> On 12/31/21 11:20, Dagfinn Ilmari Mannsåker wrote:
>> Andrew Dunstan <andrew@dunslane.net> writes:
>>
>>> + my $subclass = __PACKAGE__ . "::V_$maj";
>>> + bless $node, $subclass;
>>> + unless ($node->isa(__PACKAGE__))
>>> + {
>>> + # It's not a subclass, so re-bless back into the main package
>>> + bless($node, __PACKAGE__);
>>> + carp "PostgreSQL::Test::Cluster isn't fully compatible with version $ver";
>>> + }
>> The ->isa() method works on package names as well as blessed objects, so
>> the back-and-forth blessing can be avoided.
>>
>> my $subclass = __PACKAGE__ . "::V_$maj";
>> if ($subclass->isa(__PACKAGE__))
>> {
>> bless($node, $subclass);
>> }
>> else
>> {
>> carp "PostgreSQL::Test::Cluster isn't fully compatible with version $ver";
>> }
>>
> OK, thanks, will fix in next version.
>
>
Here's a version that does that and removes some recent bitrot.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com