--- /dev/null
+use strict;
+use warnings;
+
+use Test::More tests => 5;
+use Test::Exception;
+
+{
+ package Foo;
+ use Mouse;
+
+ #two checks because the inlined methods are different when
+ #there is a TC present.
+ has 'foos' => ( is => 'rw', default => 'DEFAULT' );
+ has 'bars' => ( is => 'rw', default => 300100 );
+ has 'bazs' => ( is => 'rw', default => sub { +{} } );
+
+}
+
+lives_ok { Foo->meta->make_immutable }
+ 'Immutable meta with single BUILD';
+
+my $f = Foo->new;
+isa_ok $f, 'Foo';
+is $f->foos, 'DEFAULT', 'str default';
+is $f->bars, 300100, 'int default';
+is ref($f->bazs), 'HASH', 'code default';
+