1--TEST-- 2Calling a builtin function with 'static' return type from internal code 3--EXTENSIONS-- 4zend_test 5--FILE-- 6<?php 7 8enum IntIntStaticInt : int { 9 case Life = 42; 10} 11 12enum IntIntStaticString : string { 13 case ThanksFor = "all the fish"; 14} 15 16var_dump(zend_call_method(IntIntStaticInt::class, "from", 42)); 17var_dump(zend_call_method(IntIntStaticInt::class, "tryFrom", 42)); 18var_dump(zend_call_method(IntIntStaticString::class, "from", "all the fish")); 19var_dump(zend_call_method(IntIntStaticString::class, "tryFrom", "all the fish")); 20 21class StillReturnsStatic extends _ZendTestClass {} 22 23var_dump(get_class(zend_call_method(_ZendTestClass::class, "returnsStatic"))); 24var_dump(get_class(zend_call_method(StillReturnsStatic::class, "returnsStatic"))); 25 26?> 27--EXPECT-- 28enum(IntIntStaticInt::Life) 29enum(IntIntStaticInt::Life) 30enum(IntIntStaticString::ThanksFor) 31enum(IntIntStaticString::ThanksFor) 32string(14) "_ZendTestClass" 33string(18) "StillReturnsStatic" 34