--- /dev/null
+--TEST--
+Testing Closure::fromCallable() functionality: Rebinding
+--FILE--
+<?php
+
+class A {
+ public function method() {
+ var_dump($this);
+ }
+}
+
+class B {
+}
+
+$fn = Closure::fromCallable([new A, 'method']);
+$fn->call(new B);
+
+?>
+--EXPECTF--
+Warning: Cannot bind method A::method() to object of class B in %s on line %d
if (fcc.object) {
ZVAL_OBJ(&instance, fcc.object);
- zend_create_closure(return_value, mptr, mptr->common.scope, fcc.object->ce, &instance);
+ zend_create_fake_closure(return_value, mptr, mptr->common.scope, fcc.object->ce, &instance);
} else {
- zend_create_closure(return_value, mptr, mptr->common.scope, NULL, NULL);
+ zend_create_fake_closure(return_value, mptr, mptr->common.scope, NULL, NULL);
}
return SUCCESS;