Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:110611 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 13898 invoked from network); 16 Jun 2020 22:11:37 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 16 Jun 2020 22:11:37 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 7D5A7180507 for ; Tue, 16 Jun 2020 13:57:09 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS8560 212.227.0.0/16 X-Spam-Virus: No X-Envelope-From: Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 16 Jun 2020 13:57:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1592341026; bh=QovIdNUKP2/cCisEowqyk+9QV/ue8uKYUFDXc+Vn2U0=; h=X-UI-Sender-Class:Subject:To:References:From:Date:In-Reply-To; b=HkdoJ7l20sHHLvV1VjF3qkKSqE5QP5YUkCfRgtDyOjh8t6r6R3r2edUc7KziB1iL2 lX5aF59Nl0stf8yNTTlMJuRHUV9u+4EPiw17D3mpD3h7QRyEYN7mrv2rxZbCcEEZBy 4L2ZmVtKkUMei4qWzdLeWcbMzrMGzFFWrqUkbuXA= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.2.130] ([79.222.32.139]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M2O2Q-1jklDA1CBy-003z4M; Tue, 16 Jun 2020 22:57:06 +0200 To: Benas IML , PHP Internals List References: Message-ID: <2802d206-cd92-0dd1-137a-caf0a5236519@gmx.de> Date: Tue, 16 Jun 2020 22:57:04 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:ciEFbL+moGZqCATRjxyRiQVOABB1WaXlcp8t0OtTAgjrOcarVSx Ecm0aewk8THThwlQ3MqCy9T7kJkkITQdbJ7jvBJu9H1QziQehhQNVRKtLZi5hbxgPr03mLJ ed66X2C0DzqCUwRwZt7ZG9qV8Q9Ds1FO2A5hLzL8TR/9dRGcCW0A9EDBSTjz34jDOUq8n94 7zdJUM18I42jYLcCDdIpg== X-UI-Out-Filterresults: notjunk:1;V03:K0:ZG1m+Wum6T4=:wx+xo3c4ND0OLiYxOnzmWI AKZMRH7hld92I3JMVfw4g/Bg4PUmS/STSFFxBBAqqq4r2ZqvzPKci9Nyz8Lx3aBymjbCB2dFm gCdBD7UbQXVhnO3onfCIVdrZXjAoTqHiC2PDdzG0aQXVTFl/Q32fHyWNz8XAyrpzOVG7cSEn8 rqPlSavStB42eVVesDsoPpPe+PYh+Zvi1poaUcDMYKHo0pChQIYrLWZF2Eb5T5l1WwgZzlVFf 4hKWAKMtAziQu1V80Yhl2fgQOo/o2iHAmAj1s+gH7+mdE4xlTIM5oZmSdRKFBq8OgRQCtE6lf rJHA/4iRrjWKWvs5pFaGGNBnJo5+CAoOZKJyMDabV8U4tXfSE6W/LgNy/HFzmyCx1qI82XH6e ZMbdgP8wb+pkIP/zeAyRxJRHWljlxmbLM0CXfiD7k9kGMMpQ5I7biwvM8CbFVHIEmScI1eFiI h/gRPr2cVeBxo1VO6oX96UFOpASRhBEzNnHi5aczECIvhpyLJVptsx/KAAfpZapKOO8el5BuZ 54oW8gd7jHNE8yOnc6r8OWCIcTBSCxDSM1ukg2iKqscLhCZYRrOq8KXmxvAqjKDj39RA3Ld9i q0ydteeq2WPTubX2NJLom7HXWPlbT4/Jt1sMZ/yzOoCV5vJjGXP9kHNm9BTIHZsylM0Kn/hlO RRyyhRnLwOA+rWyoVkdBOqYajFE0zHF3M+Mf9zLIqYODqYj71yYpXYyKrymTtesV1txCjmIGc PwsApRtzxNDBygtTGK1hN/x/gtEIbjU1s6Hv9xxmDt71ppmW1KduZ9HyqQwahEWoxkZfm3yqL lT52aqUNHMBlSIdiFT6aFVly+1lqoNWvEQUFGmSAGKTgYkCbt4sXutov93zU7TYNNA4iMxTL+ 3gD9vIOY77PLVlq+/3v3mgyQM4k8/PlabMv7j969oVAtUu0dCK/s31AgDoL8ntE7B13WBZKbn OlXzOaWe/nqMEv7lDRI4KnfIIFnfzi/oRBb0+rfgWw2AN6JYXe5EBAslmAXkHs5bu+YwR+CpZ BwN4Tx8YMFyWORsNvA8IXEBieQa4C2fzYbrVEeOZt35DVk9giTAn5nSYNaksEtD0YyCunmRHU vP7MmGcMS7s13U0wDPw7hc/ob1dqb+c1rJ0a2Sjq9po01n5gdM/QG44pnAQynozsytrHgt85t n1YKmeukbtt7I+epAG+PpN4BaQ7bdwh5OcgjKWGOAb1v0tDPiJMl4ZdvYLzNIclG91ZuQ= Subject: Re: [RFC] [DISCUSSION] Allow void return type for constructors/destructors From: cmbecker69@gmx.de ("Christoph M. Becker") On 16.06.2020 at 21:30, Benas IML wrote: > I put the original RFC on hold and created a new PR [0] for implicitly > enforcing `void` rules on both constructors and destructors. Note, that > this results in a BC break since it is no longer legal to return non-voi= d > value from constructors/destructors. In other words, it is now illegal t= o > return something from ctor. > > As a side bonus, it is also allowed to explicitly declare both > `__construct()` and `__destruct()` as `void` (but this is by no means > mandatory, it's optional). > > I'm not sure whether this needs a proper RFC since this is more of a pat= ch > (fix: #79679) than a new feature, so let me know! > > This PR should also address all of M=C3=A1t=C3=A9's concerns since it ma= kes > constructors and destructors always return `void` (even when no explicit > `void` return type is specified). Thanks, I tend to prefer this solution. Given the potential BC break (constructors may be called like normal methods, so returning something can make sense), I think an RFC is justified. =2D- Christoph M. Becker