Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:46389 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 68378 invoked from network); 9 Dec 2009 22:43:19 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 9 Dec 2009 22:43:19 -0000 Authentication-Results: pb1.pair.com header.from=tstarling@wikimedia.org; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=tstarling@wikimedia.org; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain wikimedia.org from 66.111.4.25 cause and error) X-PHP-List-Original-Sender: tstarling@wikimedia.org X-Host-Fingerprint: 66.111.4.25 out1.smtp.messagingengine.com Received: from [66.111.4.25] ([66.111.4.25:34571] helo=out1.smtp.messagingengine.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 2C/A8-25115-508202B4 for ; Wed, 09 Dec 2009 17:43:17 -0500 Received: from compute2.internal (compute2.internal [10.202.2.42]) by gateway1.messagingengine.com (Postfix) with ESMTP id F352CC55D2 for ; Wed, 9 Dec 2009 17:43:14 -0500 (EST) Received: from heartbeat2.messagingengine.com ([10.202.2.161]) by compute2.internal (MEProxy); Wed, 09 Dec 2009 17:43:15 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=messagingengine.com; h=message-id:date:from:mime-version:to:subject:content-type:content-transfer-encoding; s=smtpout; bh=L1AyYVUhui0xh9Imb9weMCQTnBs=; b=OVixCz1ctyCGHoMvmkm21ShiVYBOd3t3kAqG4uwRfcnPip/B2OPFwaavvxUkpb2pEABIg6sPne09oK4FmKXg0Y9yYIMouO/ETgVFT/4AAHgSOs47PI4fNM+yQmc1wWcJQLTWGlzV0rQiHUWhPlFiMWiGqppV+IF8j6VYGB1qUKA= X-Sasl-enc: EknuuwZHRPvF0HQqSW0vCdLRFdgOtbIzFt8p+Gd8jMFg 1260398594 Received: from [10.0.0.2] (CPE-124-176-96-118.lns3.ken.bigpond.net.au [124.176.96.118]) by mail.messagingengine.com (Postfix) with ESMTPSA id 3DE5036B95 for ; Wed, 9 Dec 2009 17:43:14 -0500 (EST) Message-ID: <4B2027FF.3050704@wikimedia.org> Date: Thu, 10 Dec 2009 09:43:11 +1100 User-Agent: Thunderbird 2.0.0.23 (X11/20090817) MIME-Version: 1.0 To: PHP Developers Mailing List X-Enigmail-Version: 0.95.7 OpenPGP: id=BF976370 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: PHP 5.3.1 reference parameter regression From: tstarling@wikimedia.org (Tim Starling) Since 5.3.1 it's impossible to have a reference parameter passed to a __call() function. This is apparently due to the bugfix committed by stas as shown here: Test cases can be found here: . It seems to me that a special case would be needed to restore the behaviour seen in PHP 5.3.0. This change causes bugs in MediaWiki, where an attempt by a proxy object to pass a call through to a function that accepts reference parameters will always fail, due to the exacerbating change made to reference argument semantics in PHP 5.3.0. If we want MediaWiki to support PHP 5.3.1, we'll have to do some major changes, like abandoning __call entirely, or rewriting all the relevant interfaces to not use reference parameters. I'm not too keen about doing this without getting some indication from the PHP dev team as to whether this change is permanent or whether it will be fixed in an imminent PHP 5.3.2 release. If it's going to be fixed soon, we can just blacklist PHP 5.3.1 in our installer. I've tried emailing stas but I didn't get a reply. -- Tim Starling