Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:126271 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 qa.php.net (Postfix) with ESMTPS id 83D411A00C3 for ; Sun, 2 Feb 2025 13:40:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1738503452; bh=s3eSiCpRPItTlns7E5tDN8YeR0eiwWHl0mDQRCdXnag=; h=References:In-Reply-To:From:Date:Subject:To:From; b=J6hCGXvzVjRB/SNntA4Fdkg+7LzND9ppHVnEkeXIzEWU4h98tIiaOCPRezTBe5hFC IsjVJIyBUuzA08dxeoqQR25vZBBTLPk8J0RxOPIjuyA+YCyyMuLHkdmJPs6fd5zbSF rocu27NS1nn/G3bsskTpAtR5w4kmuSk6T7qO9ZAkvlWcP11XW7JcQQjUntZ9FJS4zC 1Vi0CEPh6RIQdpKyJuZ+L+b3i9urfFlhf78KWUrSLs1Z3ueVVULYssP5SXriqPzc86 IPeKlqiWz/5U0qxjW+nEKlrSf5EfyVEoUeAkVur8ahdmMYbR6ur1sAaIZGCEIf0/oC NhTNeke9DWmUQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 5D80218038B for ; Sun, 2 Feb 2025 13:37:30 +0000 (UTC) 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_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, 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-qv1-f41.google.com (mail-qv1-f41.google.com [209.85.219.41]) (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 ; Sun, 2 Feb 2025 13:37:28 +0000 (UTC) Received: by mail-qv1-f41.google.com with SMTP id 6a1803df08f44-6dd1b895541so72481416d6.0 for ; Sun, 02 Feb 2025 05:40:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738503614; x=1739108414; darn=lists.php.net; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=3v4vNQME90dkkX2ynZ6QTYwizqWpw54vczVUntAvGo4=; b=GN5X6Rl3hV7T5cBN1y4N15nkMuwFSicKSzSOV5gpjzdJOPlyCdDJqX0Bh8LK5xyUQ6 VbqQ4Fyz/kEd5h0qYVnSoHFUIekmuuUp/tA39QBbJlq+ao5WKZjgHh903c4BIvCbDsR1 jYXaV1MwWmsadXKnJgDtMoa/SSsT/Kw8CqKCzEtSveTDfRCpJ8d3kV70zbx+qHJ3pi3z 2kdYm+/hoIgkydSD104Lmhgzg/F/pgL19gFBFwh5b/45JoXG9uAnAXkh2EniziXbyhIe oZHZFqaQxwru9/uJLkLh38XkJxgIKdbD+fY9O6fo+2Bc9Nliz3eUzOcGxG/JyfR97TW7 YIlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738503614; x=1739108414; h=content-transfer-encoding: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=3v4vNQME90dkkX2ynZ6QTYwizqWpw54vczVUntAvGo4=; b=JxgQAkk/VfttweZmHkuCJ0QJirQRXBPokAA1oaE+bazdeesfuIN8syltNWULDaVBlu TTkSBbXR8beSY4szWj2WIHiq31hoOXrWbYRM9XHuA+4QdceoaUtw3VgC7ulXhKEa9cqV rQBeeVmIQ6uWpr3NNlmq8HIyYCDWOcqhd77UhjsQXT2QY5FJMBZzj7h47w+xeAGiVe/P GRRYT5byFj+9lBY0rJrK/WvJkKTMWZ4dQ9J16AmaUzhfKRH5e3t6rqaKcKe95Hwj3VG/ ca5L2MTcSzRNsHmD3dowsSn7UhNBPIWlAr7ABR4lCIcr/RBr35aM7wEl8DG4x3SXc/Ag 8+1A== X-Gm-Message-State: AOJu0Yx7xaSOzC+cKMLCHKFRFKoDstwsDQzT9EhBq++ygyL/p4Ac+kvP uhzr3R8DAOe0tmo9prsYsY7Rvo0udthwguEFdwb2pAtwtrpyzWIhNf9JKjv2EuPyOuR8NloMo/9 kVmIh9n7XPj/N4xYTDAo0NSt+rKPV61BY8APuaA== X-Gm-Gg: ASbGncs053ArGp2l8FY3G03WSpyzMuj61h1evCHqHZjR5UTQoalFeYjcts+fgjV0DgL qIBCCmlk1ECLASpjPaTep6U8QX5U4QSagwdQzIMiYsVA26IaSo8pclvoczLpTO74s/OrTjbDgZA 5daeptC6eX6g4NcJqrwkhv1G1G3ZA9Tg== X-Google-Smtp-Source: AGHT+IHRgVCxVGpjzIcBUZC3PHFOGMH0QAe5hvg5EZtFcXLYDAZNu7Ky+mVSB7D+BvxRlnsGy2g2KBhAO4U+7o6SgOc= X-Received: by 2002:a05:6214:230b:b0:6df:97c6:ccc0 with SMTP id 6a1803df08f44-6e243c66f3fmr268166436d6.28.1738503614572; Sun, 02 Feb 2025 05:40:14 -0800 (PST) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 References: <2A357F88-BAF4-41DE-8646-6BBBF4EFF6F6@gmail.com> In-Reply-To: <2A357F88-BAF4-41DE-8646-6BBBF4EFF6F6@gmail.com> Date: Sun, 2 Feb 2025 14:40:03 +0100 X-Gm-Features: AWEUYZnUoXJEjGM46iMVj1TMNDjZqymWD6O5Cd95ltaXv__sQywzttNZxdNoX4M Message-ID: Subject: Re: [PHP-DEV] Empty subject in match and switch constructions To: PHP internals Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable From: tovilo.ilija@gmail.com (Ilija Tovilo) Hi Dmitrii On Sun, Feb 2, 2025 at 1:05=E2=80=AFPM Dmitry Derepko w= rote: > > I=E2=80=99m thinking about making match (true) and switch (true) be more = lightweight by removing the subject =E2=80=9C(true)=E2=80=9D and making mat= ching =E2=80=9Ctrue condition=E2=80=9D by default. > So $var =3D match (true) { =E2=80=A6 } can be used as $var =3D match { = =E2=80=A6 }. There's an old RFC draft for this that never went anywhere. I believe the feedback was mixed, but there's no way to know how it would have turned out since it never went into voting. Given it's inactive, it should be ok for you to take over. https://wiki.php.net/rfc/short-match https://externals.io/message/112496 > `when` construction is overwhelming, but some features are totally handy,= such as checking for class of the subject: > when (obj) { > is Class1 -> =E2=80=A6 > is Class2 -> =E2=80=A6 > else -> ... > } > > Which was implemented by Ilija Tovilo in: https://github.com/php/php-src/= compare/master...iluuu1994:pattern-matching This is a really old draft. The RFC itself is mostly up to date. The implementation is still WIP. https://wiki.php.net/rfc/pattern-matching Ilija