diff --git a/library/Mockery/Mock.php b/library/Mockery/Mock.php
index 137294a8e..0e8850886 100644
--- a/library/Mockery/Mock.php
+++ b/library/Mockery/Mock.php
@@ -724,7 +724,10 @@ public function mockery_returnValueForMethod($name)
case 'int': return 0;
case 'float': return 0.0;
case 'bool': return false;
- case 'array': return [];
+
+ case 'array':
+ case 'iterable':
+ return [];
case 'callable':
case '\Closure':
@@ -740,9 +743,7 @@ public function mockery_returnValueForMethod($name)
return null;
case 'object':
- if (\PHP_VERSION_ID >= 70200) {
- return \Mockery::mock();
- }
+ return \Mockery::mock();
default:
return \Mockery::mock($returnType);
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index da1b87c9a..58d56f7a3 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -7,6 +7,7 @@
./tests
./tests/PHP70
+ ./tests/PHP71
./tests/PHP72
@@ -15,6 +16,7 @@
./tests/PHP56
./tests/PHP70
+ ./tests/PHP71
./tests/PHP72
diff --git a/tests/PHP71/Php71LanguageFeaturesTest.php b/tests/PHP71/Php71LanguageFeaturesTest.php
new file mode 100644
index 000000000..a0c82df0e
--- /dev/null
+++ b/tests/PHP71/Php71LanguageFeaturesTest.php
@@ -0,0 +1,26 @@
+shouldReceive("returnIterable");
+ $this->assertSame([], $mock->returnIterable());
+ }
+}
+
+abstract class ReturnTypeIterableTypeHint
+{
+ public function returnIterable(): iterable
+ {
+ }
+}