in reply to Re: Please review Class::WeakSingleton
in thread Please review Class::WeakSingleton

instance() is not documented as being available for inheritance and I didn't immediately see a way of doing that with subclassing. Not that I can't be daft at times. I think though... that your fix doesn't do the job right. The stored reference needs to be weakened, not the returned reference.

  • Comment on Re: Re: Please review Class::WeakSingleton

Replies are listed 'Best First'.
Re: Re: Re: Please review Class::WeakSingleton
by rob_au (Abbot) on Jun 20, 2003 at 05:42 UTC
    Ahhh, excellent point ... One test which I think you should be performing however (and that with which I proved that my own code proposal did not work as intended) is the following which tests the out-of-scope destruction of your weakened reference - This is important because Class::Singleton would pass the test examples in your code, whereas only Class::WeakSingleton would pass this test.

    { my $g = wrapper->instance; $g->{'key'} = 'value'; } $h = wrapper->instance; die "Bad mojo!" if exists $h->{'key'};

     

    perl -le 'print+unpack"N",pack"B32","00000000000000000000001001101101"'

      Exactly. For the moment I just took the easy route and stole the existing test.pl. Its written up using some odd form of not-Test.pm and its ugly to behold. Yuck.