--TEST-- Readonly property can be reset once during cloning even after a type error --FILE-- bar = "foo"; } catch (Error $e) { echo $e->getMessage() . "\n"; } $this->bar = 2; } } $foo = new Foo(1); var_dump(clone $foo); var_dump(clone $foo); ?> --EXPECTF-- Cannot assign string to property Foo::$bar of type int object(Foo)#%d (%d) { ["bar"]=> int(2) } Cannot assign string to property Foo::$bar of type int object(Foo)#%d (%d) { ["bar"]=> int(2) }