Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:76500 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 3153 invoked from network); 13 Aug 2014 22:21:40 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 13 Aug 2014 22:21:40 -0000 Authentication-Results: pb1.pair.com header.from=drewparoski@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=drewparoski@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.213.180 as permitted sender) X-PHP-List-Original-Sender: drewparoski@gmail.com X-Host-Fingerprint: 209.85.213.180 mail-ig0-f180.google.com Received: from [209.85.213.180] ([209.85.213.180:51270] helo=mail-ig0-f180.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 1B/C4-03780-3F4EBE35 for ; Wed, 13 Aug 2014 18:21:39 -0400 Received: by mail-ig0-f180.google.com with SMTP id l13so3230086iga.13 for ; Wed, 13 Aug 2014 15:21:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=Nw4jaKvX8xSQwlQkde+ZKZb/HHTIO98ls3WrcLp6HMI=; b=YGDIehSLYtQB4RlHUqNI6OU9jRU4djRN8q2H+LqSQnWASQVB76UQMw/mCBwFM6Xyd2 /qM1EcZ3Ls3P57E+46GtJ8bVKMusDvsiJTLVcQspOjOcgnjlAIuxPpRuwEBOL8DCpMcf mqcI4OG3ZFiNBHQEZtVZgOdCCiDoM6+wRyNzIPf+h+F2YwH2oaTtpOkDylV/2tGeJpup FbhozJ2w85ELmDoH+gxwW6TZOf4zzlArgNQkoBR5wmi+3gctazMy7nPFU3iBB1PmXiVS pPplKTFaI8a6ZCLkq04Bxo5fNKxWRyknzqh2cifyk6Nxuvnk0r/gjBD6XRHtnn0iQfxF K6qQ== MIME-Version: 1.0 X-Received: by 10.42.47.140 with SMTP id o12mr10045788icf.4.1407968496648; Wed, 13 Aug 2014 15:21:36 -0700 (PDT) Received: by 10.64.1.69 with HTTP; Wed, 13 Aug 2014 15:21:36 -0700 (PDT) In-Reply-To: References: <942D2AF6-BDC2-4214-BD58-4B5945C28CE3@ajf.me> Date: Wed, 13 Aug 2014 15:21:36 -0700 Message-ID: To: PHP internals Cc: Peter Cowburn , Andrea Faulds , Pierre Joye , Ferenc Kovacs , James , Matthew Fonda , Sara Golemon Content-Type: text/plain; charset=UTF-8 Subject: Re: [PHP-DEV] [RFC] Disallow multiple default blocks in a single switch statement From: drewparoski@gmail.com (Drew Paroski) On 6 August 2014 12:32, Ferenc Kovacs wrote: > > I'm not sure what would be the best solution, but if we don't version the > spec, then when we introduce BC breaks or simply new features in a new > version which is in turn get's added to the spec, that would make the older > php version's(from any implementation) not being compliant with the spec. I agree with Andrea that this fix/change is arguably not a BC break. For something where there is broad consensus that it's a bug (or at the very least highly undesirable behavior) and the fix has very low risk of breaking existing programs, it seems poor to update the spec to codify the bug. While the goal of the spec is to describe PHP 5.6's current behavior as it is, I think it should stop short of requiring that conforming implementations mimic existing bugs in php.net PHP 5.6. Making the spec codify bugs is bad for two reasons. First, it encourages other implementations to mimic bugs causing these bugs to propagate further and making them harder to ultimately fix. Second, it makes the spec more complicated and more difficult to maintain without delivering any real value. It's okay if php.net PHP is not 100% spec compliant as long as the all the differences are considered bugs. Going the RFC route for this issue felt a bit a like overkill to me, but I respect the process :). The spirited discussion here was interesting to read and informative. I don't have strong feelings about what version of php.net PHP the fix should be applied to, or whether it should be allowed but E_DEPRECATED for a period of time, but IMHO getting the fix in sooner rather than later feels like the right way to go. For future cases like this that are initially filed as bugs, I think discussion should first focus exhaustively on determining whether or not the issue is a bug before moving on to discussing whether the spec should be changed. I think this will help reduce churn on the spec and will keep things simpler and more light-weight for most cases like this. -Drew On Wed, Aug 13, 2014 at 9:22 AM, Matthew Fonda wrote: > On Wed, Aug 13, 2014 at 3:24 AM, Peter Cowburn > wrote: >> >> My thoughts on the topic? I think we're in danger of letting "process" get >> in our way here. It's a bug fix which IMHO should even be thrown into 5.6 >> (this is a bug fix!). Going through the RFC process, being forced to wait >> for 5.7 or 7, extended discussions on the list... it all just seems >> unnecessary. But, that's just the opinion of a docs guy. :-) > > > +1, my thoughts as well. > > Best regards, > --Matt