Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:105498 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 77873 invoked from network); 29 Apr 2019 10:32:58 -0000 Received: from unknown (HELO tbjjbihbhebb.turbo-smtp.net) (199.187.174.11) by pb1.pair.com with SMTP; 29 Apr 2019 10:32:58 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=php.net; s=turbo-smtp; x=1557128088; h=DomainKey-Signature:Received: Received:MIME-Version:References:In-Reply-To:From:Date: Message-ID:Subject:To:Cc:Content-Type; bh=1huHmFiNfV0KHBbnw22ujH cZK/+XiDeAMJUXQOpABrQ=; b=qWIAPcrc/nXsFnbieux03Wwce/P4Ue17fRhX5p LL8737VBWHKEwx98gojg4tEC6KC9Z3pjvDlUU33z72HpFgY7HLFzvtGpLSFt4/3O NN3na9dTlaqf/I4Ua4hj9V9s47oup20TRik9oNvgQwX31jJaegURrEZ3UdDhcoOh OW2Fg= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=turbo-smtp; d=php.net; h=Received:Received:X-TurboSMTP-Tracking:X-Gm-Message-State:X-Google-Smtp-Source:X-Received:MIME-Version:References:In-Reply-To:From:Date:X-Gmail-Original-Message-Id:Message-ID:Subject:To:Cc:Content-Type; b=hXkKsA7CGOBUIQZDvAj5PNElaYWqWZuYv93ecgaDVb4L00JfxVcV73Br14A2/K bmP8b80xkAGXF7U9URB1udtr/lIazU/RlRiPuhnXS6itjiBYoLNw0ygTG07iRkaq QjfNhzp24Fc78uv/RWAvWQJsLES+NH83PqnKrs0u+xnUI=; Received: (qmail 29638 invoked from network); 29 Apr 2019 07:34:48 -0000 Received: X-TurboSMTP-Tracking: 4998597119 X-Gm-Message-State: APjAAAU3rYrMU4c94IedqqE+aAeIlPLCG2oe6Ta0fbEvItvhW+KhhnEs TpvHZ6hPeQgAoRQrr8QyCmSuThL5eWFiZHe69Ck= X-Google-Smtp-Source: APXvYqzVc3h7L5BH8bc8KO/CZuxwn1ioqWAviiDnNSAOzktQWHKHJUPagWlQnoXH0uikgWZEuo64jRAggRXmftLquZ0= X-Received: by 2002:aed:24d8:: with SMTP id u24mr12996149qtc.324.1556523287566; Mon, 29 Apr 2019 00:34:47 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Mon, 29 Apr 2019 10:34:36 +0300 X-Gmail-Original-Message-Id: Message-ID: To: Nikita Popov Cc: Bob Weinand , PHP internals Content-Type: multipart/alternative; boundary="000000000000a3df550587a6519e" Subject: Re: [PHP-DEV] [RFC] Change the precedence of the concatenation operator From: zeev@php.net (Zeev Suraski) --000000000000a3df550587a6519e Content-Type: text/plain; charset="UTF-8" On Thu, Apr 25, 2019 at 12:52 PM Nikita Popov wrote: > On Thu, Mar 28, 2019 at 2:33 PM Bob Weinand wrote: > > > Hey, > > > > I feel like concatenation having the same precedence than addition and > > subtraction is promoting programmers to make mistakes. Albeit typically > > easy to catch ones, it is a quality of life change at least. > > > > Hence I'm proposing a RFC changing the precedences: > > https://wiki.php.net/rfc/concatenation_precedence > > > > Bob > > > > Similarly to the ternary associativity RFC, I've analyzed the top 2000 > composer packages and checked whether they would be affected by this > change: https://gist.github.com/nikic/a4df3e8e18c7955c2c21cf6cdb4cbfaa > > The tl;dr is that there were 5 instances where behavior would change per > this RFC, and all 5 of them are bugs in current code and would be > interpreted correctly after this RFC. Nikita, I'm a bit worried that using this as a standard test suite may (repeatedly?) give us a false sense of security to go ahead with compatibility breaking changes. Composer packages, almost by definition - tend to be of higher quality than the 'average' PHP code (at the very least they're redistributable, but arguably Composer users are more advanced than the average developer - even more so those who publish packages). On top of that - probably the some of the most redistributed pieces of code in the PHP space - aren't covered by Composer at all (e.g. WordPress). Don't get me wrong - I think it's great to have this indicator, but unless I'm missing something, it's far from being something we can thoroughly rely on to determine whether a certain feature is commonly used or not. A huge chunk of the PHP codebase is completely invisible to us, and much of the code that is visible to us does not reside inside Composer. Zeev --000000000000a3df550587a6519e--