Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:122259 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 64165 invoked from network); 26 Jan 2024 02:53:30 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 26 Jan 2024 02:53:30 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1706237655; bh=l1uPEXj+kicWHGhHCH0NjbGjcpm+gDHE1T83Z+/iSCM=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=WHO9a3LpVk9O2LiCmvQNlExs+qtWVhssos1XxWt6wFxDnYN3vyg5cul6IyXiTNe1P 4WB0gYG+CKJXxSmU1FyUJRF65MehsU2PsY23NwUdsEw9vAMfnkQzmkI4ncTu+kpHhg 8qTM4fGvxS4JL2tMz2tdhH7zPQgyQIoVJqeTZ8IR2heP9IE3u06VhRhJ9AIcI+gwTV qaosE/UBAebJmsE0pkqEzPL5M9+Yeyvx6CVtdQ1fOzzBf6YLdRP15EBwUmDbHCT0/Y NySoaz7kqQpM3fnL7ihQyv2hF2On+IC2PknIoQKwz5pStEW+k+C5TNTJE41H+hHg0b 2gaV/byTdRRLw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 9B134180051 for ; Thu, 25 Jan 2024 18:54:14 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=BAYES_20,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-yw1-f182.google.com (mail-yw1-f182.google.com [209.85.128.182]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 25 Jan 2024 18:54:13 -0800 (PST) Received: by mail-yw1-f182.google.com with SMTP id 00721157ae682-5ff821b9acfso68298027b3.1 for ; Thu, 25 Jan 2024 18:53:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706237608; x=1706842408; darn=lists.php.net; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=l1uPEXj+kicWHGhHCH0NjbGjcpm+gDHE1T83Z+/iSCM=; b=isw5z5UBx7jSFj1KnBXb6qCxowfKVpVH5EslOcS2e7tyY/+t3p4vw+tf9/9+6sDme2 1NktQ+FoefM7XTGf9oqmfoPeHWkb1Nz7uTNMW12KGYN6Fk//QglPWvjJWrQss5gzA2Q4 PUrNbqy29f0LcymbCnkUdhZ+/jlb3d5ZjP19UX4GmRpV0HPyml7nkDmhxdYfObKTV6ky OTb7fRQTNSNRW/Y0fiRkh0nPJLjkI1clBjc/PEb43VHj2Q9qxPV98J+dRqmQEBywUsqq zY2bYWq99WEDhJnHiNaNbFg6tugSexb01ecG7hryXK/1HF5YxV8zviRLvck2hcHkd1q6 rXhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706237608; x=1706842408; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=l1uPEXj+kicWHGhHCH0NjbGjcpm+gDHE1T83Z+/iSCM=; b=i2MKTpC9gk9fKKiMfEJS6U3i0s2MQKaFsClMsb8OwRFqzDN4wfaQ3Ddh8iWzCIyhzx aOxFQLQQ1WF3nH/CEOU1X2F5pyW4V9ndA7eiX5XFOJyPavkfrC0JRy4ubOIM0Xo0IxO+ SOEBk+/YBLcxMkfu4T+yZkpqQ00JbmQ3o5xjgjxmeyLPUszcsFYCn2lFEHmI9VZxUmOS /XTdnWcyCXOaD/Is7E6dJalylAX73ju9/E/nNSPbTSh3RwHXCZ6VjkZGzW0kLZz56D09 pFmgIHViYrtwsjy2SRQukDIjDVcaZTF+kEsH0gO+4NkQT8/DeEJ8p1Tz/lMGhSY9dVyQ a//w== X-Gm-Message-State: AOJu0YwFHllzfmdwwcmGuoftZg88GiwgubRRcV6VamWPuPXXXisK+Xhk K9eYNaRg5SlHZwQ5ZnSO7zOd7f7PcVRfKs+Ke+sZQ1j7D9zScsGYxzQn//CsNUouW2DPYgjIbmt M4pUdpqhHDwxZlhmLJ652tHADUCE= X-Google-Smtp-Source: AGHT+IH/aRcqFvFscs9iNyhM4yvI/6RgFvjjSaiSgRw68UrwuQRDkrvnvpRAusTCAZ9a8rgiQNK4uTBHwj6PbeCsZOA= X-Received: by 2002:a0d:dd91:0:b0:600:275b:2acc with SMTP id g139-20020a0ddd91000000b00600275b2accmr815898ywe.53.1706237607921; Thu, 25 Jan 2024 18:53:27 -0800 (PST) MIME-Version: 1.0 References: <10e7aed0-00b8-4140-a1e1-bb0a33e90938@app.fastmail.com> In-Reply-To: Date: Fri, 26 Jan 2024 03:53:16 +0100 Message-ID: To: Oladoyinbo Vincent Cc: Larry Garfield , Jorg Sowa , php internals Content-Type: multipart/alternative; boundary="00000000000085ce2f060fd06661" Subject: Re: [PHP-DEV] Re: Basic Type Alias From: glash.gnome@gmail.com (=?UTF-8?B?TcO2bsO0bWUgRXBzb24=?=) --00000000000085ce2f060fd06661 Content-Type: text/plain; charset="UTF-8" Hello, I took the time to read you. Very interesting discussion. I'm also interested in the type definition. Because these two functions are equivalent: > function foo(?int $baz) {} > function foo(null|int $baz) {} We could imagine a personalized null-safety type. > typedef Refutable as null|false|NAN|INF; // I'm not sure that NAN and INF are types > typedef UserId as Refutable ! int;// Refutable is the type of null-safety > function zoo(UserId $id) {} // $id is (int) > function noo(?UserId $id) {}// $id is (null|false|NAN|INF|int) Do you plan to use enum cases as type ? enum MyEnum{ case Foo = 1; case Zoo = 2;} use enum MyEnum::Foo as MyFoo;// syntaxe error typedef Mamamia MyFoo|MyEnum::Zoo --00000000000085ce2f060fd06661--