Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:115753 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 45610 invoked from network); 16 Aug 2021 07:32:20 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 16 Aug 2021 07:32:20 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 7276D1804C8 for ; Mon, 16 Aug 2021 01:04:15 -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.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS 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-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) (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 ; Mon, 16 Aug 2021 01:04:15 -0700 (PDT) Received: by mail-lf1-f51.google.com with SMTP id d4so32615448lfk.9 for ; Mon, 16 Aug 2021 01:04:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=uyKzJgAjOutFLtFXWMxK99Has7Y5CS9UC92QkLEhCVo=; b=WXd4vEFfXfroawdPKpOOBsPmesTkzeABYUE9S5ow7dvE/f6syfWIRqe34WMEYXarWc BIHindrSAWbapzhAL3jLACJXqIqrZkFbeKqFn3RlW0HusHVK/rLmBfo7IfSQD+8u6vqK xHGKWkPbZwuGXJ7w0lxwRHDt8lJ9Ux1ybPEGjTTAtvOsB97TxNM0e9GhnF7EQ8DS7JCp aU90xXXWm+QkTpuAmErWqdOkDUjtDoUi3dtgD0W8ROGRY5KOIJbsBFG6gIymP/UZW+j6 oh4NUVDGcCdq5GQSZljdbgy3/6W2W/66ix21LtCZs4BdbYH8jtuaTJASC3HPmU1jMMDK wUtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=uyKzJgAjOutFLtFXWMxK99Has7Y5CS9UC92QkLEhCVo=; b=sekELqYyODPzQ/9LQ47bJNc7bhOBC7dMc6ko8vdF/OnlkkdB40je0H9is5oiun0klB 03RooUMDNp9FHX9pib/n4YA5qop+VOkpMpPYJahjm+Jz2oRFztcEcs5AB/qh5cUx2/Ig pN6mn9iZ+8+wcbPe9glBOQiWsRN850yD3FcmMIAPe5D0qNVl3FrYJQTfDqFQqGSNDLiz 4YmBRbk2uJKuh+7VNTU274PBN91s9FXRzAc3JhXQls3LU4J0fSkj8Okqp1tMNv7k3hhB ynHxSaXhW4FJP0Wg6xGPike/s3Eck7cc2nz/XnVRBUiyC+Uf2bZMT6jNRPWheBsKzyQe BGfA== X-Gm-Message-State: AOAM531sRTOsgu7Mrk87KenGr+HFki5epLyg1+E/xi9aDKYiVNuRIu0w tIag0DtNS+PEKNL/qRnthkJHJ88Y6qspUyZrCoE= X-Google-Smtp-Source: ABdhPJxws3r2pHITVXPyQ1s28eta/hmKh0j1lgjEWbKmF5334XVXt/tj+O3BUSmCo0ojX/0hNHSGdF2Wf05CUCrkFWI= X-Received: by 2002:a05:6512:33ce:: with SMTP id d14mr10974394lfg.159.1629101051361; Mon, 16 Aug 2021 01:04:11 -0700 (PDT) MIME-Version: 1.0 References: <72785D6F-6803-49BB-B575-01061699ABF4@gmail.com> <448DAADA-C819-457F-ABBF-F942128B2830@gmail.com> In-Reply-To: Date: Mon, 16 Aug 2021 10:03:55 +0200 Message-ID: To: Joe Watkins Cc: Deleu , Tobias Nyholm , Kalle Sommer Nielsen , Patrick ALLAERT , Nicolas Grekas , PHP Internals List , Ben Ramsey Content-Type: multipart/alternative; boundary="000000000000783ec405c9a8a577" Subject: Re: [PHP-DEV] [VOTE] Nullable intersection types From: nikita.ppv@gmail.com (Nikita Popov) --000000000000783ec405c9a8a577 Content-Type: text/plain; charset="UTF-8" On Mon, Aug 16, 2021 at 9:45 AM Joe Watkins wrote: > Morning all, > > The initial RFC was clear that nullability was not supported, however that > doesn't seem to be have widely understood. > > When I said we should move forward I did imagine that there was some > consensus about the syntax we should use if we were to support nullability. > Based on the vote, it looks like there's a pretty clear consensus on (X&Y)|null :) > As this conversation has progressed it has become clear that we don't have > that consensus, and many people are just not comfortable trying to build > consensus this late in the cycle. > > The RFC is not passing currently so I don't think we actually need to do > anything, except prepare to deploy the feature that was voted in, pure > intersections. > > The RFC should be allowed to complete, it's gathering important data. > > In the end, I'm not as happy to make an exception as I was when the > discussion started. FWIW I think that if we granted an exception for this once, we shouldn't go back on it. Maybe there should have been some discussion among RMs about this, but I think your agreement was interpreted (at least by me and presumably Nicolas) as it being fine to go forward with this RFC from a release management perspective. Now that the vote is underway, people can take the fact that this is targeting 8.1 into consideration in their choice -- I suspect that a lot of the "no" votes here are specifically due to that, not because they generally dislike support for nullable intersection types. As a meta note, I think it's important that we're open to minor changes to new features during the pre-release phase -- it's purpose is not just implementation stability. In fact, we can fix implementation bugs anytime, but usually can't do the same with design issues. (Of course, in this particular case the proposed change is backwards-compatible, so there is no strict requirement to make a change before the stable release.) Regards, Nikita --000000000000783ec405c9a8a577--