Bug #70990 [NEW]: private __clone in inheritance situation

From: Date: Sat, 28 Nov 2015 17:31:20 +0000
Subject: Bug #70990 [NEW]: private __clone in inheritance situation
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-197476@lists.php.net to get a copy of this message
From: remyfox at hotmail dot com Operating system: Windows PHP version: 5.6.16 Package: Class/Object related Bug Type: Bug Bug description:private __clone in inheritance situation Description: ------------ Creating a private method __clone, while cloning $this, where $this is an instance of a child class of self, will set the context of the caller to $this, instead of self, which is somewhat unusual, given that calling a private method from self is otherwise succesful. Making the method protected solves the issue, but makes cloning by other classes in the hierarchy possible too, which may be undesirable. Test script: --------------- This is an example: http://pastebin.com/5z4xrQdR Expected result: ---------------- four times the string "I occurred" Actual result: -------------- three times the string "I occurred" and an error message Fatal error: Call to private F::__clone() from context 'E' in __FILE__ on line 48 -- Edit bug report at https://bugs.php.net/bug.php?id=70990&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=70990&r=trysnapshot54 Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=70990&r=trysnapshot55 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=70990&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=70990&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=70990&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=70990&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=70990&r=needscript Try newer version: https://bugs.php.net/fix.php?id=70990&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=70990&r=support Expected behavior: https://bugs.php.net/fix.php?id=70990&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=70990&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=70990&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=70990&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=70990&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=70990&r=dst IIS Stability: https://bugs.php.net/fix.php?id=70990&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=70990&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=70990&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=70990&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=70990&r=mysqlcfg

« previous php.bugs (#197476) next »