Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124756 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id 804BD1A00B7 for ; Mon, 5 Aug 2024 11:04:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1722855946; bh=ZPfm8UL1cPoqZJ+hiiZkhs9aJFpKZF8Y6r9FwQPdrDU=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=Ib78Q880wkhQcP3Xt6AfSdaLxGI797OFL+ZSaxPVZH8LACnv1hlBpkpQSCEJOGIvt SSnqsbBwPMYQv0afQCbPYCoS95xDa5iL1kgIreRD2TyJ0CShowQGadM+VPQasjE8eM XU7gKO9iolBJY3+U2MT9FuqClT+ZLekZtBnvfUFaObPWomofDbcdbh7o+HDZEJa5tm 2tUiTUYWXAqIL2m3aOHOgmHT/Pr6X6PYjbrngLESLvoiibWSRqfTWRSK/VT7O1U/FB pc5NpGBUKyNVE1LGGKIpxBv174oEWu09TBEibRGqe1mEv2i3IS2PuQe9R+SPTx/UYJ Crzyx95+hYDDA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 97C9B180059 for ; Mon, 5 Aug 2024 11:05:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: *** X-Spam-Status: No, score=3.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,SPF_HELO_PASS, SPF_SOFTFAIL autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from xdebug.org (xdebug.org [82.113.146.227]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 5 Aug 2024 11:05:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1722855843; bh=ZPfm8UL1cPoqZJ+hiiZkhs9aJFpKZF8Y6r9FwQPdrDU=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=KL5IzP6YULcDU4sw0HFGkejOTPF9KWzCiEo1o18D0QMrxEQb3ZRAP7YqhcT02Coya njabdTC3YQlwW3MlL00DnC2zXPncu2KEUNhLp88hqUH+HWPjJNhbiIlg2aa+pkSkhj dpJObYl3RaSyRtXOCp5IewoAkaIHlRt1RyolXaMIdjcS4nTebA+7KTsDtOciRaPJ0U qwbs30XdGTbulN50X0b2kGT5mLdovet8nVj2CvFa6bvBXc2HfrrXlefgDO9F64HFhI APIHDbOcHTRn5qU70+eE5AE4oM+uzsjeI6cfdReIYbdTBmNrPnIh8ol0/J4NpOc2cj iiJx1O20/oRNA== Received: from localhost (localhost [IPv6:::1]) by xdebug.org (Postfix) with ESMTPS id 0C02510C033; Mon, 05 Aug 2024 12:04:03 +0100 (BST) Date: Mon, 5 Aug 2024 12:04:02 +0100 (BST) To: "Christoph M. Becker" cc: "Gina P. Banyard" , PHP internals Subject: Re: [PHP-DEV] [RFC] [VOTE] Transform exit() from a language construct into a standard function In-Reply-To: <15bb76a0-cbd7-4145-b429-76d424755106@gmx.de> Message-ID: <1a8650d2-7eb5-d645-8132-e5522ad24637@php.net> References: <15bb76a0-cbd7-4145-b429-76d424755106@gmx.de> Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII From: derick@php.net (Derick Rethans) On Tue, 30 Jul 2024, Christoph M. Becker wrote: > On 30.07.2024 at 11:49, Gina P. Banyard wrote: > > > I have just opened the vote for the "Transform exit() from a > > language construct into a standard function" RFC: > > https://wiki.php.net/rfc/exit-as-function > > > > The vote will last for two weeks until the 13th of August 2024. > > As userland PHP developer, I always regarded `exit` as a control flow > instruction (quite similar to `break`), and as such I'm not really in > favor of converting it to a proper function (especially since it is > not, because the parantheses could be omitted). Xdebug uses exit for exactly that too. For control flow analysis. And I also always have considered it to be a control flow instruction. I see no benefit in changing it to a function, especially because there will never be a function "exit" from it, just only an "entry". This breaks function execution symmetry (and causes issues with Xdebug when I last tried to make it work with a development branch for this RFC). As the RFC is scarce on mitigations for this, I am currently voting "no" as I am unsure how certain features in Xdebug could remain working. I have written to the list on other reasons before (https://externals.io/message/123277#123450) without a conclusion. I'll consider changing it to yes if there is a commitment for addressing these feature-maintaining-requirements to keep Xdebug working, either through new APIs (think observer) or other mitigations. cheers, Derick -- https://derickrethans.nl | https://xdebug.org | https://dram.io Author of Xdebug. Like it? Consider supporting me: https://xdebug.org/support mastodon: @derickr@phpc.social @xdebug@phpc.social