Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:93854 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 10941 invoked from network); 10 Jun 2016 08:47:08 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Jun 2016 08:47:08 -0000 Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.49 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 74.125.82.49 mail-wm0-f49.google.com Received: from [74.125.82.49] ([74.125.82.49:38820] helo=mail-wm0-f49.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 5E/F0-15790-18579575 for ; Thu, 09 Jun 2016 09:56:18 -0400 Received: by mail-wm0-f49.google.com with SMTP id m124so61640568wme.1 for ; Thu, 09 Jun 2016 06:56:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:subject:to:references:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding; bh=y+BLuVR1KIbKaqc7YdJLLaBHoRVoauN9w4Hk6FtSwU0=; b=Mv0KPYRnLyXSw09Dc2EtCIzn07dlokiv1yHEKrUKZyZCtXc8f48aBfkBFe1yCrabLU S6OnVyiKkGCLsUIUszX/bYRgJBNRFKmAUmxTnzQIs71eNAXjGmTiDSKKaMHFZxJh5XR3 1A/bJljWrY8DeJDA3+YP6rKgTONiqc0giVJ6Rz7AGdBduP3KjUffSE5zUB4Fa065bGYl qY/TBTSMikNrNj04baAunA3NMjcbrG84hL8JKdCAN7iURjW2LuCnSabBNRdaHRzhmnPP oShqUnFDvcm2tAMxtiR66yz+nIi8Z4FSRSMn96lSq6RfKFwvPXak+5HaM1Im3cB9MYqw FNsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:subject:to:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=y+BLuVR1KIbKaqc7YdJLLaBHoRVoauN9w4Hk6FtSwU0=; b=S9VBa83r9wp4kpnlpi+Lnl+ruxqAID2oF8o1duLtUZY1Zi2EcfkpL2+m50qk+yBewl D16yfKsnsEnBFYOI65n5QtEZuEaunsP33t/CFNYzLo7ddKXPyzDgEmMXtGg7z625abV1 mWBqX4x750vULkQabUVEpksGakh19XTEfCg6MfXmUCs7KiRxfzWTmht+pnPBIbDc8kHI QIFD5TfG6Jm+673ujuZX28nqJ5Z8Li0dJgRVmEi1y2xO9p67qebrBcAk2lvVUb33tUTP ocMtKLNXemUsYW/FZ3jmB0+leGDtb7Kn3eY1Okci8fUO4fZkXf6ZHL/GIjK26pHntSu+ rHCg== X-Gm-Message-State: ALyK8tJQfQnaTxpF5M3AXws592OsHS03nyog6ASKGIS/uIsjBCTflHWVcnLK/ZKD3sYppg== X-Received: by 10.28.55.79 with SMTP id e76mr10578628wma.41.1465480574852; Thu, 09 Jun 2016 06:56:14 -0700 (PDT) Received: from [192.168.0.98] ([93.188.182.58]) by smtp.gmail.com with ESMTPSA id g3sm7182189wjb.47.2016.06.09.06.56.13 for (version=TLSv1/SSLv3 cipher=OTHER); Thu, 09 Jun 2016 06:56:13 -0700 (PDT) To: internals@lists.php.net References: <7d8183f5-4bea-d59f-79a6-7bde423854fc@gmx.de> Message-ID: <8c880802-fad9-fc0b-be4c-96fb6add5bcd@gmail.com> Date: Thu, 9 Jun 2016 14:54:17 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 In-Reply-To: <7d8183f5-4bea-d59f-79a6-7bde423854fc@gmx.de> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] [VOTE] Replace "Missing argument" warning with"Too few arguments" exception From: rowan.collins@gmail.com (Rowan Collins) Apologies if this ends up as a duplicate. The list server seems to be, or have been, down, so trying to re-send and see what happens. On 06/06/2016 14:38, Christoph Becker wrote: > In my opinion it would be good to more explicitly clarify what > constitutes an unacceptable BC break. Bug fixes are allowed, but even > those sometimes cause a BC break (as a programmer may rely on the buggy > behavior). Indeed, there is the famous xkcd cartoon highlighting that every change breaks somebody's expectations, and there is sometimes a grey area between clear bugs and unintended behaviour that is nonetheless unwise to change. There are also times when breaking compatibility is justified because the cost of doing so is low - e.g. the behaviour being changed is a rare edge case; or because the cost of *not* changing is high - e.g. fixing a major security flaw. I think a case could be made for this change falling into the "cost of change is low" category, but am disappointed that the RFC itself makes no such case, and nor did there seem to be much engagement when it was raised on the pre-vote thread. I'm also not convinced that such a justification would be in the spirit of the release process RFC. If the intent of the "no BC breaks in minor releases" policy is to make upgrades smoother, then producing fatal errors on code that previously ran without error seems like exactly what we should be avoiding. I know that people SHOULD be fixing these incidences where they are producing Warnings currently, but that doesn't mean we can assume that they DO. This change has the same kind of implications as the removal of call-time pass-by-reference in 5.4, and I thought that was exactly what we didn't want to repeat. Frankly, if this passes, as it currently looks set to do, I think the BC policy in the Release Process RFC should be officially abandoned or rewritten, because we will no longer be able to tell users "if it runs under 7.0, it will run under 7.1". Regards, -- Rowan Collins [IMSoP]