Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:119317 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 70021 invoked from network); 18 Jan 2023 16:03:40 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 18 Jan 2023 16:03:40 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 88D3918055C for ; Wed, 18 Jan 2023 08:03:39 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=BAYES_20,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 18 Jan 2023 08:03:39 -0800 (PST) Received: by mail-lf1-f54.google.com with SMTP id j17so52360412lfr.3 for ; Wed, 18 Jan 2023 08:03:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=datadoghq.com; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=YYL64Vzd6zg/pBb882+kWNndxGBt47oJgTm44pDLVtQ=; b=ZQ7wFbwsUeOW/cIXcy3Ovrz7hNG3etbUyaQ+3XNtrbSOvRKothNzwd52POa568nILb vYdVW+IX1pvKulfeqRDtHsO8WbN5ktgOUrUPhkTNJ85aAXRoYZrazIbtDsOuJuRsFsX/ cbKDDDQG291Osg3+tBTspAi4GtIr529BMdf1c= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=YYL64Vzd6zg/pBb882+kWNndxGBt47oJgTm44pDLVtQ=; b=kspGJ/r3zpqiqKX/uuPco1V80om0dBO9Nw0MyNi6Zb8YHO/mXh8Ok5J4fH1cKICb2e F8tlLzErF7r2BouIzt+0yqoPV6YY9Dr6it8WWQcG3qx9S1Bn8yC2WCLtggHF7+VDnLL/ AuKvFAPubP1kfoon0dlsy+h3v8nxDwmkQBG5H6hKOjGFISHMJXYCVdBmq/k79MpJ4r4M zycqaoC1x99deP+8Th7xC3PNOzj9Fq02SfZBqtOsCguWSqqpbDGqvqYs2/DOJ01fzQjn 8c6Xma5sD3NPXDdOc9VaOXoq8e7HcSPvki1xtRt/5makHDlln7zi932J/Aqt7IL4vckD Nybw== X-Gm-Message-State: AFqh2krjcvy4mgMK5ftVhxHiv9xjviEcYQ5HVMNlD2C5qAacfpqLqGhZ nAEnOwFpLDt5ZKQfBq8Y9QclAgR9w2u8q+M9xR6XtA== X-Google-Smtp-Source: AMrXdXtZxbZHKQiWdW94MxhnOBsNIUv/ZLUrZkSGpiUuJ3y90746+Ei9Cf/hkFzQQJ0lptIIAFV76pMLhUOeZjfwNaI= X-Received: by 2002:a05:6512:2983:b0:4ca:faed:6914 with SMTP id du3-20020a056512298300b004cafaed6914mr610296lfb.590.1674057817435; Wed, 18 Jan 2023 08:03:37 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Reply-To: Levi Morrison Date: Wed, 18 Jan 2023 09:03:25 -0700 Message-ID: To: Derick Rethans Cc: "G. P. B." , PHP internals Content-Type: text/plain; charset="UTF-8" Subject: Re: [PHP-DEV] [RFC] Path to Saner Increment/Decrement operators From: internals@lists.php.net ("Levi Morrison via internals") It seems to me that if you truly want to clean up this specific part of the language, you are going to have to play the long game: 1. New functions are added for the perl behavior of string increment and decrement. No warnings are given in code, but call-outs are made in upgrading and other documentation about this behavior changing. Note that in the past I would have used an E_STRICT for this, but people seem opposed to adding new E_STRICT warnings. 2. In the next minor version, we add a warning about the behavior when string increment/decrement is used. 3. In the next major version, we finally clean up the behavior. But this gets muddy if we do PHP 8.3 for step 1, and then we decide to go for PHP 9.0 instead of 8.4, and it messes with the "ideal" cycle. Note that I support this sort of plan, and would support it for cleaning up many other parts of PHP as well. It's just unfortunate it takes so long, but that's how it goes sometimes :/