Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:113455 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 12319 invoked from network); 10 Mar 2021 21:12:07 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 10 Mar 2021 21:12:07 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 37BCD1804DD for ; Wed, 10 Mar 2021 13:04:27 -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.4 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, 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-Virus: No X-Envelope-From: Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) (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 ; Wed, 10 Mar 2021 13:04:26 -0800 (PST) Received: by mail-ej1-f48.google.com with SMTP id bm21so41577413ejb.4 for ; Wed, 10 Mar 2021 13:04:26 -0800 (PST) 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=daCyaN7yFoOlQturoUJGIP3GYpQ2s/yuAkFKcLSINAQ=; b=hWFk4g2S+QtauciNfRYsukK6jeBbcxeiBTToi4VXOSF1EuN106OcIAuuCmJIVafAeD +SWNEPBhedrVwHm/GYSI6/1vYcDRrRVdPwf0wLoXlHO9ajXeDg7MqFbhfSam8wGh9o+N D7KjcL80yxJOgxYdmA6cT6ZABX2LAd4Ff1tFlhNlUWhS/nRLNY4GvLVzaULyHsVQs1MZ cK5v4mZ0+xSfaRxGkuQbL5PTpxHta6o6yhq/FOPKaKRKTNOIOqLPnyeQhOQa1QaIegBy Y7HcJNXaz0+j57iH0vL2j+mAxMT0/ZW/+CqwHqsW83mMZzYH2TmoRvhVdI1CN9cBsuzZ laOg== 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=daCyaN7yFoOlQturoUJGIP3GYpQ2s/yuAkFKcLSINAQ=; b=CThdvszPMLAJU/WOxxtTIK9nt7BrfsC16jSOxndfQz/8+O5zY/J8KCgh/KsXrgucYX Z5niJLVAbG66TKKHDxMW4k1apfeugDjTBTjQyHYWWE8VYDh9B1nApsA5vOkzJqPuuyjr 90CwIo5EyRg4vnFPHIHllD9r0NLgi88bLEMLsGav/gQfJkOWq9ABQu3+d/ttrR+0IXNo CTz+oLVqGO3JPyeJlz6vv1HR4fbBBLpAF9fH0l7vYQR3LTpV/Osmq9CiOEXtGBltBKT8 RS2dPrHBWIolhuYzbE1D3JYN7orb901by0wPdaAUVc3Qn+SN4ZiiPC+kvHFURwARsoiK fzpg== X-Gm-Message-State: AOAM532pWCxXi6xFXDnbzA/kefNx9DvdZ/MCuZRjgz6st8+6O4/oF5c6 ORi+Dxl4/mqx0TcVcmqOYKWwF3SO8deVLn3vje4= X-Google-Smtp-Source: ABdhPJywOiNGTcv0ufcFmfRZWp7xmW7bp1KY+SziNspt3HG8EWQ4wwXV8PUTYSeJCfWN7bQgv1s+iAcFLxurdOFZSJA= X-Received: by 2002:a17:906:384e:: with SMTP id w14mr305628ejc.285.1615410264643; Wed, 10 Mar 2021 13:04:24 -0800 (PST) MIME-Version: 1.0 References: <75a8a0ec-d988-7712-58b5-88c8061db605@gmail.com> In-Reply-To: Date: Wed, 10 Mar 2021 21:04:14 +0000 Message-ID: To: =?UTF-8?Q?Alexandru_P=C4=83tr=C4=83nescu?= Cc: Rowan Tommins , PHP internals Content-Type: multipart/alternative; boundary="000000000000fd993605bd35028c" Subject: Re: [PHP-DEV] [RFC] noreturn type From: tekiela246@gmail.com (Kamil Tekiela) --000000000000fd993605bd35028c Content-Type: text/plain; charset="UTF-8" Hi Matthew, I am concerned with some edge cases. What if a function both returns and throws at the same time? For example: function a():noreturn { return throw new Exception('Boom!'); } or function a():noreturn { try { throw new Exception('Boom!'); } finally { return; } } Also, the message "TypeError: a(): Nothing was expected to be returned" is inaccurate. It should say that the function should terminate instead of returning. It's also not a TypeError if no value is expected. At the moment it sounds like we need to make the function somehow return nothing. If we are to bikeshed about the name then we might also consider other possibilities: None, Nothing, Returnless Regards, Kamil --000000000000fd993605bd35028c--