diff --git a/lib/BuiltinParamNames.php b/lib/BuiltinParamNames.php index 45f523e5b10..8234ec85afb 100644 --- a/lib/BuiltinParamNames.php +++ b/lib/BuiltinParamNames.php @@ -202,6 +202,9 @@ public static function forFunction(string $name): ?array return ['iterator', 'preserve_keys']; case 'hrtime': return ['as_number']; + case 'memory_get_usage': + case 'memory_get_peak_usage': + return ['real_usage']; case 'microtime': return ['as_float']; case 'trim': diff --git a/test/repro/maintainer_gap_memory_get_usage_named_real_usage.php b/test/repro/maintainer_gap_memory_get_usage_named_real_usage.php new file mode 100644 index 00000000000..207ba7c262e --- /dev/null +++ b/test/repro/maintainer_gap_memory_get_usage_named_real_usage.php @@ -0,0 +1,8 @@ + 0 ? '1' : '0', "\n"; +echo 'memory_get_peak_usage_named_ok=', is_int($peak) && $peak > 0 ? '1' : '0', "\n"; diff --git a/test/unit/BuiltinParamNamesAliasTest.php b/test/unit/BuiltinParamNamesAliasTest.php index 0170000c7f0..75ffa9fe9e3 100644 --- a/test/unit/BuiltinParamNamesAliasTest.php +++ b/test/unit/BuiltinParamNamesAliasTest.php @@ -112,6 +112,16 @@ public function testMicrotimeAsFloatNamedParamResolves(): void self::assertSame(0, BuiltinParamNames::lookupNamedParamIndex($names, 'as_float', 'microtime')); } + /** @covers issue #11578 */ + public function testMemoryGetUsageNamedRealUsageParamResolves(): void + { + foreach (['memory_get_usage', 'memory_get_peak_usage'] as $fn) { + $names = BuiltinParamNames::forFunction($fn); + self::assertSame(['real_usage'], $names, $fn); + self::assertSame(0, BuiltinParamNames::lookupNamedParamIndex($names, 'real_usage', $fn)); + } + } + /** @covers issue #10027 */ public function testTrimCharactersNamedParamResolves(): void {