Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127587 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 lists.php.net (Postfix) with ESMTPS id 11E861A00BC for ; Wed, 4 Jun 2025 14:54:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1749048728; bh=jx9b7NIziEElQwPVJj1z//TNFGfBvvX5B9XQk3AQywI=; h=Date:Subject:To:References:From:In-Reply-To:From; b=AYvuds9pfaI7+Fe6F56dBbZ5GN4PK7IsEvBGvDpogfQZYrp6tktqJSV4RdSeiACCp zEPriFE8Qna4eH1R0/J+Sjs9B7zKhGnsCHW2f/cqq/cvFFmXSyGVCpDhL/6P3FQ9S2 0zdBnQEn/ClAMiEC5r5y2N3O/1aWZjk7+sPSlay1QTiXcpyvFYVhjeA3qZxlFtZU1Z SLJ433k9LXggJM4bpU6pIdRTlfi5QikE/DpKXrJQoQ9ahZs8bmyclm7fXJBMe87kV8 4dAhmnhCcvOHQ9dqDz/5R9WFtXVGUlVfWH/DWk476+aQnmp+uXpYE349pDI4sy6IOe iiTa9Me7Vn+Vw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 11FD7180061 for ; Wed, 4 Jun 2025 14:52:08 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_40, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2092.outbound.protection.outlook.com [40.92.91.92]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (secp384r1) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 4 Jun 2025 14:52:04 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YmTDz/Z+dCBH+MyITz3J+iIoiigsCQ2i6Ldwa4NzVgAvpu+XJJsXFTwYo4nySfhlW4ws+IMehR20EPWH4VK7ACtuGXEzTkDNu3YYbFiEqf0/3GHrZdbHRNuMmvPLnOf3K3rae1XK5KjJQYZ/dP7CHaC+p1i/IzMCjPwsyAQT0JUjcwvchnCYmiXGMNEYqRrGBf+reLjZFdf7ZfT3/D2lyDccBk8vARLPL50PBZUA+F9ifRa5bSn123p7As2eYr0k2DAMMqhi6/EJz50MRw5jOX/GowcX3qABPaVqJgZSJPxx7DAPfGWjB5p72tiRvh1+BzJG6c5XxvsBnfh7AzVt1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=AnjA6M41tXyRfesyIl7UjthMtwAGnjLM32WVgWhv9LA=; b=Lw11J0DopXWbmC4pN29/evDnurdir1T6vViWABb8PoCbyJZ9F3Ljo130fEH051xLPbHHqLoOQGWGlg0i/hrveDsQ2r0sA+EB7ZF4j5Vc6mUn7dz48W4HoeKffCQRxH1r6jXY+8JXT3/ep25/d4T/yD+yn4kipaJ42O+0bxR1zPJAfH1IuUVCepm77wVuhte+aWhmLWzyFm8RJC9PfP949NDOgMGnxeWibmHsx4LSgz1ZKUoG3jfK7CyP83RqURmjvdjbkiPS9tHS1+N2HYEpk4On4XnOvH2bGxH6QU3iQUgYJch3hc9aBmL+eyaiTYxW8d598GVw+aufZqR1cqkl9w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AnjA6M41tXyRfesyIl7UjthMtwAGnjLM32WVgWhv9LA=; b=oTYM+PckBRGLla3/11GAg1ZgWenl9sk/ywMgSizb1I4ZFD3rm9gqU8OwOLhwFNVzlWezKKqrbB7tXVqJgqCXFNaoY/vKcyaJlecp4nfUNOwj3ZpuUZPbRK9DRH4fBbQDzA47LIMrsVY3DWyp7b4K3A1UmKp5RG+ZiiUtFRxf/5U0e22EO4pZyuJlNtM2yLaK/UftqalFof8aEUI06WW9rxPUGi61KaHM+FZMuRRurXI+BoiJngZOm/XsSz+++m9V/9Andz+O9rZVOPhy8+2mzL5HIo8EWsYlD4KdpMdWeED2wP5K9G1AQ4yT8oMa1L0i8yA+JXCLDHoNsqKCQ/uK1w== Received: from AM8P250MB0170.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:321::21) by PR3P250MB0179.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17a::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.33; Wed, 4 Jun 2025 14:54:06 +0000 Received: from AM8P250MB0170.EURP250.PROD.OUTLOOK.COM ([fe80::651e:bbd2:b18a:80ff]) by AM8P250MB0170.EURP250.PROD.OUTLOOK.COM ([fe80::651e:bbd2:b18a:80ff%7]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025 14:54:06 +0000 Message-ID: Date: Wed, 4 Jun 2025 16:54:05 +0200 User-Agent: Mozilla Thunderbird Subject: Re: [PHP-DEV] [RFC] Transform void into an alias for null To: "Gina P. Banyard" , PHP internals References: <6Z2Ysh6MjYp1nyzuB0bTPJc5srObIcMRqt731JaQeXUJk1f_V_Yo2nRn8WvjI7er7pp7pIUE6WYl5pRwvYrtcrd07nCutyAqKPSsZHmrS-Y=@gpb.moe> Content-Language: en-US In-Reply-To: <6Z2Ysh6MjYp1nyzuB0bTPJc5srObIcMRqt731JaQeXUJk1f_V_Yo2nRn8WvjI7er7pp7pIUE6WYl5pRwvYrtcrd07nCutyAqKPSsZHmrS-Y=@gpb.moe> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR4P281CA0405.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:cf::11) To AM8P250MB0170.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:321::21) X-Microsoft-Original-Message-ID: <4cbd44af-b4ea-44a3-92c1-81bb9cdc8fa8@hotmail.com> Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM8P250MB0170:EE_|PR3P250MB0179:EE_ X-MS-Office365-Filtering-Correlation-Id: 22c205f1-0692-4f31-716d-08dda377a754 X-MS-Exchange-SLBlob-MailProps: obhAqMD0nT/wHt6zADx6o/cjDLbXSf3n8GpMYtjeCfSaxtIRA64s2yg0yT8LwUIDGCWc/KUedfOi1Pu/G0Gq8ttHXUHSkgXQYLmVHsG1kxYmdxLSl6orVK7dhvzr5ZhvWwVRCOb/cGX/p0fsqQkEKKPcrU68IgOuOSrszlk+CP5n/5AV7YoK20Q3tdygZG0kvWNSPDchbJphFtOUC2TOJKJlD7yjLM/FV/lQXZ1vSl7bEvQaUjacMiuObz0srCSONRXrPmRktcfrm90jKh0s4uzIilqZ8FZYIVKHcgOQlagtamouKotQHxC+o7PFu2y6OMHfK7KkbAdoc+VK209SEU6GgYgtrysKsJp3qj61LJsRPxnlK0JjW6Qw6mABSw3sPtUmRbMe+25+rdVnSYDqtpKfwaDC+Q9Kd5jHYtzbCFPLyDujg10iuLoWWcNDlZWJ4A7CuW3AVhKmUhyTsG3UGmAtnlmEGHaz9RXC6RI/URlTFU1+yvRxyv3buDWGOfABidHHFgMojGrvV0Bbu/NAd7kTEDps9swNp6M0NE6KzqMYQiIBsKIHFtbL4Ob+9CKHDlYberQaCgXH2dUcENn2rXxCP0/xU+rsVjGUPUEwCrQu+SxRl4AIKheQ+sFGMJg+oxFFSThMzeaZ9Q0b0ZWdOdxzRLJqmURiucfEVFtTlxObJH5iRDg2zCEGT1z+QPO+sVXU8hHQHkpxwwfIQ0vBngpEyBoPZoDrm8x3SYWNbr1a4Db436U0hnZ1uCYBPAEDP9/Tq7jnSvURg6bH6BhGqa+jtFNbLYWWvjLZtHuuimgyOJZvwIPbSVm7MxEX5raj X-Microsoft-Antispam: BCL:0;ARA:14566002|8060799009|7092599006|6090799003|5072599009|461199028|19110799006|15080799009|41001999006|4302099013|3412199025|440099028|26104999006|10035399007|1602099012; X-Microsoft-Antispam-Message-Info: =?utf-8?B?VXp5Mm9ucTRYdU9NTit0VWZadDJGVjBSek52bEh5MmNBemV3ZVo3Y0w3MXZ6?= =?utf-8?B?L2J3QjEyTTFSemh2a0JVTUpFbE1XTEVMcUdzR3dZS1RGWUNiN2ptRTNvc2sx?= =?utf-8?B?aWVTYVNzY1ZhbzZvT1Nxb3lMRkYxa0tML3k2a2hGUWUxbkpCeWJRWmZFSi8r?= =?utf-8?B?QSsvM2ZYenVLSG5JZXAxMklBLzBKQ0ZmUzJWTFphWnpFZEdMNVFIbXRHOGpq?= =?utf-8?B?Y0dYT2p3Y3hjbDBLRHNSTFA4Wi82VkN3clZuTC9BSVlXVURzQmM4elRGdWd1?= =?utf-8?B?UDhicitYdXcyd0cyd3pEZEk3c2ZVWWpSWUR0VVRJYkFtaVc0RWVXRDdIaHZw?= =?utf-8?B?ZmJNMzQ2NkZwQUNMeU5RQmNKckRUYk5QdWdYOFY4US9YNFlmcWVzZm5MaHlT?= =?utf-8?B?L2c4aTBHaW5WdXZIamozV2lwTWRUQ1o5YzBqa0Y2MVBNUDM0R0RBYSt4MnUz?= =?utf-8?B?dSttTVhKUGlFT3BidlM1M3pzZHQ0T3B2ck9TNFhta0VSRHlRZHVLYmNpeWhh?= =?utf-8?B?N0QvQ1ZsNWFqYy9kWmxnUzBDUDNlRFVoVHdFMU5BU051cDlhZ2c3amtjYkh2?= =?utf-8?B?RHBDUDBOVW1FTGdaSnRhN3RwQ1MyQXZpZmoyeFNBZExyZTdOQ0lNMTEwSmN5?= =?utf-8?B?VzJxYmlHVTYzU1ZZbXNPT1htT0JMUEJadEFYWkM3b0dPV1FjdkppZG13OUFz?= =?utf-8?B?bHFOdDBSNWZ0VHdsNG95TUhFZ3c3ZWd3MUIyNTdKc21ick14VHlGYVpWeUhD?= =?utf-8?B?aDNLTlhjUW9XYWpMeXBqQnlDRnJnRlZFTURTMUpzMzF3bnFuZnFtNGlQdC9i?= =?utf-8?B?cjZwbFV3QXNjeEgyVW8wYTQrZGVHTyt6dVVMclFFVkw0aW5kcjdlVlpCQjZx?= =?utf-8?B?UW9QUTJDVFMvUFVOdDRNRGt3S2RGUUIwazV1RHI2Mys0cEprNXBpR0FrYW5w?= =?utf-8?B?N05sTmI5ZjU0YjUwSk8zNHpvZzNDMzZSSjk4T1NGeE92YmpSMzFEM0tnSjJL?= =?utf-8?B?cDZ4VlIrMjNGRmkxT2RON01NTWVreFZ0RkExTDFJamRYZGM2NWd3R2xLZFhL?= =?utf-8?B?a04rcHhpWUhMeGVZRFFYTmJJaU5DdGRpQ3dzYUw3MEx5NmRSWEhCdHcrcUxE?= =?utf-8?B?MVlscjR0OFdxbWljZFBIZUoyOUFkeVpxZ2FONUh0YnVSVHJUWjJSNmsxTDZK?= =?utf-8?B?NEpzVllqQlgzOE4weG84cGdyYnFNcy9ycHdtdGVqbXNUc0FqUE5xZDNTNTJT?= =?utf-8?B?cXpPZGxIZWUxOG1kVGtGK0dVTE1oV25ZSW9uT3AwTU4vakJwL0JMTmN1WmQv?= =?utf-8?B?aWV4TDhmOFNadHI3WmtYMUZqK3BZRHJmT1JlbWhDczJGRXF1WEpDRS9wbmRJ?= =?utf-8?B?UHJya29MK1NnT0d0ODdtcGtINllUWXlXOHc2WWlIN2xTQmFKZHNKL0ZUMUlB?= =?utf-8?B?b0YxS0NHQms4NnlaNjFIRWZTYy9ORUhlMkh5bERvbGhiRDNHSFM0WTFFUE5z?= =?utf-8?B?UVJnLzNVMzVKMkVVMjd1OEZOM2RQZlVpeFBpR3Z6aXpLeVlyOXEzQmJ3WXpz?= =?utf-8?B?NzZpQ3RxY3k0aW1uaVRmUFYrTjZiTXRZa2MydDFFS1dpV1M3aGZLSEtJM0tM?= =?utf-8?B?bUoyWmhTM3NCNkU3Vlk0aVdULzU2NStpZVIweXNWQW1BaWF5aWd2THVkV2NJ?= =?utf-8?B?clFMRUlXWnBXVStlbFpxM2ExZVhQVXNXSmZNNWxFL2xrUXhMZEcwMDRrUTRO?= =?utf-8?Q?hX6uwXuOlTyIHpTZZsxdo5C1Ht+iwOJsbiHnmz2?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YjNTYWF1d0Z3YUFSL1NnRmJxQXQ0VlE5Rk5uemhmV3FWaWZuSjRRMEtVS09W?= =?utf-8?B?RkpqMDZWMGNzcVJzeWVyLytTNEovU2xRUEV5YmE0Rlo3RTUzR05sVlBEUXhL?= =?utf-8?B?STRUQ2tVWFNZOGVzMXh1dmN6Qlh0V1NsS1RnQ0NnSEQwQzR5Wkd3b2kwdTIz?= =?utf-8?B?RFJ3YS9UUTBCbDRvYTRiWXZUUDNZekZwaXdkTnhHeTRIQWlYRmh5SXBaWmlo?= =?utf-8?B?K2gzSWkxblBDSGV3UVNNZFdQSitlZFdlaUxqQUFVYUllaGM2T1NjTmV1blFa?= =?utf-8?B?dGhBYlphaTZLcnp4Sy9mRGsxOEg4VlVCNnMxOWNzSkRWdW81dWtGUzZra2Fv?= =?utf-8?B?Y1BJMStIeG5rTXd6bWVtR2FoRWRjYUV6NGRtRjFLV2NWaTM5dDh6RHJpTzRn?= =?utf-8?B?QkNHSVRlUFo0czRvN0ZZTlZrRTQweDZBMHZ1bFd0Z3lHS0g3V1paNlJreDls?= =?utf-8?B?cWZxUEJDSlNMUWdQVE9iSTU5RFVtVk9XMUtDcVptTkhxYkVsb2ROODhxYndC?= =?utf-8?B?cE9vcFZvcXN6WGtrdFdsdzdRcW15T3hTY0JKdzFrSWR1WW96MzVtRG9xbUw3?= =?utf-8?B?VFJoanJXdVd2bzRoaysrTHJwZDREMUtwZU92WGRzM1VEU0dYbnV3TXZYb1Zj?= =?utf-8?B?RHYyblR6OVpvVGxYV2Y0N3gwYXZQUHZMTVRMWVVLOXZTRkNuanBXQTk4ZXFP?= =?utf-8?B?UElPUzAyYURNcUJ1dlpXUEpaMTlzMUdBelFJQW11SWlvNHRXUWpFelp3R0FQ?= =?utf-8?B?TkZRRWtlV2xoRUowaGYycDBxajUreGNGVUtGK2l2VmRuZnptL3ZkWnJBbDcw?= =?utf-8?B?aFRaU0M3cDZ0aVQ4V1AvYUQwdmFrNk12bkNPN2xTWHlOb3R2NE1JTk5yY2ZY?= =?utf-8?B?N0NJYmRzM1JvUFhuOWYzTzdWKzZiekprVXRUSXVEejF4a21QNnBXemRKV3No?= =?utf-8?B?Z1JZR21GZ3lORWQ2cnd0S0kwb0gyb3U0aitlanA4b2pkcDhxNW9ZNGNlQy9v?= =?utf-8?B?WmtVWGVkQk9tYWEyWHNZTDJnN0ZoaHdjUUc0OEo4ak1EejZaQWVRVTFTNXVo?= =?utf-8?B?OTM3aUN2bVJjWTBTUnRuaHpYY2hCemFoTjJhazlRODhzM2NCV0VUc25qb1Iz?= =?utf-8?B?aFd0dHNzMmlFSlR5anVHOUJNV1VMN3YxUXdhQTI1bTJvUWtVSHhsUEZFQkpZ?= =?utf-8?B?ZXRZV2l3V2NMbjdRRnJLS2xUNVcrSURlMVBXMUxjbDV5R1pkRStYU3JYNFNn?= =?utf-8?B?MTdsTzBSMzljMlR6RjdBMDFubWJKTHJBN1ZaejlyY0xJREJtN2c1R2R6Ry9w?= =?utf-8?B?QUYvU09WNXFnZy9WaFYyN3gxNVpBYm9DR3BIVWIxYTNCUWxBczZFVTFQNElt?= =?utf-8?B?aWxzQjR3R0VteXQ3czcwaVhldjg3WWREMFdEbXRhVDFYakw0ZnVBNjdtaW9l?= =?utf-8?B?emN1K0JMRXFWakdNVHVad0NzaHFCVWx6L1lHOVdRUlJlWVNlNTR1enVYemdO?= =?utf-8?B?R1lLTWpOV3Q4TFZyL0NRSUdhYmVUdjBhMk1kRDd0TGpMQi9NMW5xZ3kvbmVT?= =?utf-8?B?Q1JDc1ZoeStPQmV6NWdNWXpkYkJXbG9NN3Nhc0VRUmUwOU85bXNMN1Nqd1U1?= =?utf-8?B?dnlUV3NTM1Vtbk9VZklZcVpraThGemRwTFRKUTlUVUdsMnMyV21OZldEL3la?= =?utf-8?B?R0dkR1ZLaU5vRlZ4Uy9GMnlHcVNySWo5ZHRCSzV1U3dIcllNMmJBSDYwTnVH?= =?utf-8?Q?LRrpt4GOT8C3XDEE0o=3D?= X-OriginatorOrg: sct-15-20-8534-15-msonline-outlook-5f066.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 22c205f1-0692-4f31-716d-08dda377a754 X-MS-Exchange-CrossTenant-AuthSource: AM8P250MB0170.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 14:54:06.4975 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3P250MB0179 From: bobwei9@hotmail.com (Bob Weinand) On 2.6.2025 18:27:51, Gina P. Banyard wrote: > Hello internals, > > This is the second RFC out of a set of type system related RFCs I want to propose for PHP 8.5. > > The objective is to fix a weird quirk of PHP's type system, where void lives in its own type hierarchy. > This is visible mainly in that a lack of return type is not isomorphic to a function that has a return type of mixed. > > Let me know what you think about it. > > RFC: https://wiki.php.net/rfc/void-as-null > > Best regards, > > Gina P. Banyard I have to agree with other posters here that the distinction between null and void is an useful one. In particular I'd consider the null returned by void to be incidental rather than intentional. I consider the return value of void functions "some arbitrary value". It just happens to be null. Like every function has to return something. But returning null is not an intrinsic property of a void function. It's an extrinsic one. You observe void functions to generally return null. But that null in itself is meaningless. So, my counter-proposal would be allowing covariance with void and allowing everything, including non-nullable types as child type of void functions. I.e. effectively giving void and never the same semantics, except that never also indicates that it never returns. Additionally I'd be in favour of disallowing (e.g. E_WARNING) consuming the return value of _direct_ calls to void functions (with the exception of standalone direct calls in short closures, because consuming that value is intrinsic rather than necessarily intentional). (Disallowing indirect calls would be detrimental for usage as callback.) Bob