The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl -w

# Test 2 levels of upgrade classes. This used to cause a segv.

use Test::More tests => 1;

use Math::BigInt upgrade => 'Math::BigFloat';
use Math::BigFloat upgrade => 'Math::BigMouse';

no warnings 'once';
@Math::BigMouse::ISA = 'Math::BigFloat';

() = sqrt Math::BigInt->new(2);
pass('sqrt on a big int does not segv if there are 2 upgrade levels');