use strict; use Test::More 'no_plan'; package Bar; sub new { bless {} } package Foo; use Class::MethodMaker [ new => 'new', scalar => [ { -type => 'Bar', -default_ctor => 'new' }, 'bar', ], ]; package main; my $foo = Foo->new; isa_ok( $foo, 'Foo' ); my $bar = $foo->bar; isa_ok( $bar, 'Bar' ); $foo->bar_reset; ok( !$foo->bar_isset, "No get() after reset(), so why is it set()?" ); ----------------- ok 1 - The object isa Foo ok 2 - The object isa Bar not ok 3 - No get() after reset(), so why is it set()? 1..3