Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:110597 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 51636 invoked from network); 16 Jun 2020 15:51:25 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 16 Jun 2020 15:51:25 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 775C5180565 for ; Tue, 16 Jun 2020 07:36:49 -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.22]) (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 07:36:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1592318205; bh=zZemh034aKz2q24k8OgsRx7q977tCCMb3CnqfaGGOFE=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=KZ5yELjv/6REgb1Z42xCPV3cZkVlDuSvPkT2Mvp0rY/2lymEh+VL68KQh1gpjpmFQ j36mXaTmVBMERwPa8ko1hf2ujSnNHCf7cocC3mG4qCwt+oICkGAR/08Emf8yCYi/jI TnW2UatGhakDJxu3di5i91yPv1Lo+LQ9AEPGDtHo= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.2.130] ([79.222.32.139]) by mail.gmx.com (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MD9T7-1jciNQ0z0j-009CEJ; Tue, 16 Jun 2020 16:36:45 +0200 To: Benas IML , Dan Ackroyd Cc: =?UTF-8?B?TcOhdMOpIEtvY3Npcw==?= , "G. P. B." , PHP Internals List References: Message-ID: <41a79208-f165-451c-4815-60daa432286f@gmx.de> Date: Tue, 16 Jun 2020 16:36:43 +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:YhcJo75KNSWIRP3vW2YoNLuyTBzqlDv94ZigCy+EDAEmFcV21mE WTj6puGTJLU6QkFlXNYE1FtiPCm+kP1wkmfrIMx9lsOU7xwmyLDj+jbtnGLyG/9Yiv5uvAD RY70gDfQ8b61umnkefajSMHxFcAxIwZnuraIhiJ+BESsYJ0Hx1LfDZJNNQvAeSVaou7IzCu h69A1iNZ64F0RDo86uClA== X-UI-Out-Filterresults: notjunk:1;V03:K0:LgD/zi6F05M=:GpAXV+4BYAlaxkj3O82UwC 1SV5oxH4fdSQxzvcfqltpVXaU7wySCojw+PnhfhCnV16BLQop64MpaSg67q3YbzvyICc4gyZI tSLI2TV14HNwuFddUIGv6AhKXU5VUsSorc33K762FCNl6+6+p3Dl45kCjd2Aegsi5tG3G0exb 18vCYVT8G4davjoSt47oZ4c7MqhjllqD/arIk5dfr+uU6Tt4cKCcLLPIyhzCYoze5kVTZNYAU pz5oEpLXBxaposb05QfVW8jde5AHv+TEM07jLcfp5scXjFLUKu+GvX6UE0ZDpDtFKtp0/tw51 /aUDFx4NkTUd2Me4Lr+Riey8Qm9/eR4g5SujAcXInzAERVd5KN7EvPelTEbNI/Ub/5vyzIm1D wNZxXxXjK49KXIB83IfAChnfo/aDAXsUCCVNBSaWx4n9VSik15Ilhw68w+tmXb9J6oSMvDqjr Gb6qdFFCIZoA+weDeSv5yuTDid1xn5rGvs5UPQs5qcwfnph9JxlkcHdXwF6ejkZHVVUpDYz9Z kjxi+Iu01/L58nwxXq9H3BpcLS5XAKqZo1nGkmQ7Utrthi+4gfSW7issbtqrlk3jVYaPMDXtZ 5ex4MzYuhFC38dH7PeWdoGSRUlhMwcErZTvl7466Rf7T8au8r0O+cDis21c+PQyz/UCtRMrSk wS40ZiaG7rMIwglkCZOQDf9pxyGUB0BFsna1J8LKzFj4xSESzh9xY9QhUhIh+QMWnjMf02S26 iMNJR7E1e9/BO2wOQ0jV4P3bPgCFRLgxBttTaQdezJFk1D3gpbZEplNjBC4nj07ZUhclOofJm py7SOQroqqvDb5oU6qoHHL3uOxmBznp1P+ON9ajZhcWafwdez0vtt60iDnhRPgGRa/Mt91MHZ ptDji12cTJct3NbAe9408IMs/o41xYru3unNwfaCE6DxqQYur5Q9IGvmXMtJg27Nyz8GWh2ys yLu5y8lavjbs4+nHluyz/dg050X9gwSNAT7z4cLMWz6HDO8pq0IUk90fBCK9qeKFuFJd/Trz3 OSNA5/GksVPd11C/JvdQOZajaVIDrCj/bOvq81C3ioU4jOkJ7G5U5F+pQ1Ib1QjOqAn6Hd0Gf INGWwseLdGoN7/j8bxtmpYq71kzzSw8MZCOUrAXv2nUZe/uaknBNbJpqnGrUCMp/5qcPsrsI0 JOZpGs/4DxB8+6AfgaSAfFCxFU70QTiSMl6qXYHk2WUZBYdlaOsjqV341cTQlVIcb7PD5iJNp J6dma4HI+rjjHJrjc Subject: Re: [PHP-DEV] [RFC] [DISCUSSION] Allow void return type for constructors/destructors From: cmbecker69@gmx.de ("Christoph M. Becker") On 16.06.2020 at 16:19, Benas IML wrote: > I meant something like this: > ``` > class Test { > public function __construct() {} > } > > class Test2 extends Test { > /* this is legal */ > public function __construct(): void {} > } > > class Test3 extends Test { > /* > * this is illegal, even though no > * return type means mixed|void > */ > public function __construct(): mixed {} > } > > class Test4 extends Test2 { > /* > * this is legal, even though we are > * widening void type to mixed|void > * but LSP checks don't apply to > * constructors and destructors > */ > public function __construct() {} > } > ``` Currently, constructors are exempt from LSP checks[1]; are you planning to change that? [1] =2D- Christoph M. Becker