--- /dev/null
+use strict;
+# This is automatically generated by author/import-moose-test.pl.
+# DO NOT EDIT THIS FILE. ANY CHANGES WILL BE LOST!!!
+use t::lib::MooseCompat;
+use warnings;
+
+use Test::More;
+use Test::Exception;
+use Test::Mouse;
+
+{
+ package Foo;
+
+ use Mouse::Deprecated -api_version => '1.07';
+ use Mouse;
+
+ has x => (
+ is => 'rw',
+ isa => 'HashRef',
+ coerce => 1,
+ );
+}
+
+with_immutable {
+ lives_ok { Foo->new( x => {} ) }
+ 'Setting coerce => 1 without a coercion on the type does not cause an error in the constructor';
+
+ lives_ok { Foo->new->x( {} ) }
+ 'Setting coerce => 1 without a coercion on the type does not cause an error when setting the attribut';
+
+ throws_ok { Foo->new( x => 42 ) }
+ qr/\QAttribute (x) does not pass the type constraint because/,
+ 'Attempting to provide an invalid value to the constructor for this attr still fails';
+
+ throws_ok { Foo->new->x(42) }
+ qr/\QAttribute (x) does not pass the type constraint because/,
+ 'Attempting to provide an invalid value to the accessor for this attr still fails';
+}
+'Foo';
+
+done_testing;