--- /dev/null
+use strict;
+use warnings;
+# when using an Moose object and namespace::autoclean
+# lazy attributes that get a value on initialize still
+# have their builders run
+
+{
+ package MyMooseObject;
+ use Moose;
+}
+
+{
+ package BadObject;
+ use Moo;
+ # use MyMooseObject <- this is inferred here
+ use namespace::autoclean;
+
+ has attr => ( is => 'lazy' );
+ sub _build_attr {2}
+}
+
+use Test::More;
+# use BadObject <- this is inferred here
+
+is(
+ BadObject->new( attr => 1 )->attr,
+ 1,
+ q{namespace::autoclean doesn't run builders with default},
+);
+
+done_testing;