Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:130006 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 F41F71A00BC for ; Wed, 4 Feb 2026 12:16:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1770207415; bh=V7Hfx9difeCGfaUxL+u7pcRQVApmvV82cSdHxsGH+/Y=; h=Date:From:To:References:Subject:From; b=m2MJcr+c+f486DmJtj/FW3WBTvlFYfq9FsmC4UA1MaQz8vriF4OtbKkYtkAQp9lv8 qxzOfAXQiIIitjMb5C2p7iW2b+rrDSfd8BOMHjB4c9TiXSFzZ4AzUOP9ugyX6E0erw h+P7EeYaLouizjojjZ1ByFwTBWrdvaZ8tYx0AUj94S/tpCpfLRu7X7eBg0m6FBsOLI IMv/04pI8vcX50WE8fcEjxFNa1GodYwvJswSPsjB+oB3XQ19WrRCnS+xUhw9OYT+oM IX58KlS+6jzTzLHXRzbSicv8y6Ry0b/G3LTMfDxEZKAnyECkp6mhmtt01LcRSnRJSE i5+j7cJvumx9w== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id B18BE180048 for ; Wed, 4 Feb 2026 12:16:54 +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=-0.9 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_LOW,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from outbound.ms.icloud.com (p-west3-cluster3-host10-snip4-10.eps.apple.com [57.103.72.251]) (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 ; Wed, 4 Feb 2026 12:16:54 +0000 (UTC) Received: from outbound.ms.icloud.com (unknown [127.0.0.2]) by p00-icloudmta-asmtp-us-west-3a-100-percent-10 (Postfix) with ESMTPS id C056B1801340 for ; Wed, 4 Feb 2026 12:16:47 +0000 (UTC) Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1770207408; x=1772799408; bh=V7Hfx9difeCGfaUxL+u7pcRQVApmvV82cSdHxsGH+/Y=; h=Date:From:To:Message-ID:Subject:MIME-Version:Content-Type:x-icloud-hme; b=Gt6IPdMXWt5hs51dpaRS/X84zkn3XVa6e3t3SJk0hXcioA5PCaQV4J8ek0aohigXlWORCyi9ctVdld5iNdnNSTVRcGMWDit6cce4Z8RQKzX5ZHduCaE8zmnYe6TTVWBKnmnsOetMdMehJ6zKFIt38X2xHxgnA0+FNad2jreUmt6ngq2lUAvzJMykYwdhE6R1F7zPQvdBredlEY2ZBdQQ056jYeFHtlawVMpmMxgyppFRH4UIB0pcgqovQb18YBteQaolY+HABwEFuIgwcEXvlLntU4sXJmc7WH1rhsI+JyNoLsNNPkNoA4dLS5GxdtqspHfK39EL7ZrTqlgwFbOalg== Received: from [10.0.10.119] (unknown [17.57.154.37]) by p00-icloudmta-asmtp-us-west-3a-100-percent-10 (Postfix) with ESMTPSA id E753E18002EA for ; Wed, 4 Feb 2026 12:16:46 +0000 (UTC) Date: Wed, 4 Feb 2026 13:16:36 +0100 To: internals@lists.php.net Message-ID: References: <3b37ad58-2152-4e66-ae3d-2e197d791dc6@Spark> Subject: [PHP-DEV] RFC Karma request: Enums with Associated Values for cases X-Readdle-Message-ID: c3add342-e021-4d4b-b357-d07e65d83c7b@Spark Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="698338a9_8edbdab_2cc" X-Authority-Info-Out: v=2.4 cv=BNS+bVQG c=1 sm=1 tr=0 ts=698338af cx=c_apl:c_apl_out:c_pps a=qkKslKyYc0ctBTeLUVfTFg==:117 a=HzLeVaNsDn8A:10 a=x7bEGLp0ZPQA:10 a=xKl34KcbpAAA:10 a=VkNPw1HP01LnGYTKEx00:22 a=72zmAcpvD9V30MIE0Q8A:9 a=QEXdDO2ut3YA:10 a=zgiPjhLxNE0A:10 a=SSmOFEACAAAA:8 a=-ApDIN6QdNcFd_wd:21 a=_W_S_7VecoQA:10 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA0MDA5MiBTYWx0ZWRfX/rsVJWWqEkE5 hNZc603QEoK7wiQwBcWBuig2GNIWMWTj7PnDJzqHs06cvAIBXGDmtalowFnz0kmihZ2ndS56zpv Kvt3dVex34mz6oB0WsfF0OzxJ2pkxvgvBcsOerk9TGyt/GeptgWFgmSPMrSWaqgb3gdpiqSK1mA sSKyQXlqRU/KIjrIDWyKUWItJUDGWh6WHLzYHshotvrvjZLZ8KhXA7P4EhFcXtUzSUiQ6Fn48aw ZzOxlkzQHNsZWF2ozWm4/2VSrHn7EuM171Ry2GzQaSi93AUZIy3izyCdcIeXSLGe0xQNRJEG+du QYivD/bpzDnydo8nXiEWy73XwaElHwk1AAHbgFvePwzBseFbzsY4qRfZ2PcV4E= X-Proofpoint-GUID: dMnNk_Lkbc-4D-NQrMdtu7wMz_3UUhCc X-Proofpoint-ORIG-GUID: dMnNk_Lkbc-4D-NQrMdtu7wMz_3UUhCc X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-04_03,2026-02-04_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 mlxscore=0 spamscore=0 malwarescore=0 clxscore=1015 mlxlogscore=667 suspectscore=0 classifier=spam authscore=0 adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602040092 X-JNJ: AAAAAAABlgnqn8aDU6u279ChZLwp133++IhUgJ4Hs3RKNtQhIbGRultKfijmSsp9BoDUJpGJ9vrdo06XrmnVM7YXFKcck57qciY5w0/YfG5PvKTxfM6MT3Nv2ClOUboYTfSMZR0hd7VRUBlxQtiPiNApZn3W2omW8Nf4CP4qKV4RdudHUbsx3q4ZWISKFpyvhILo3JycV5YJflC95vmpNv0D6OuqXsLBA9EIx+j5/Gk+vZLIvQF6LMjqXLp27s6DRJ2G6ttqsJxtLm0ER4AuY1pUh3Ti6BlmVb4+UdAnGs+COX2QCBQJNNkBR7ZdPrOe0neA2KRIEEcpXMf5LlOTall8vGJy5nDmjRYuP6K6MnKbDyLCHoS1rYaZlNK1snH4/uKTuOBTOBIkLxcghzlgLI70Iae7j1ytM5v4sFz5x9MH0qXWEDtUhlugurMbmhEOs0qb93LCRU+pT4vE9nCoIflhhqin0h2EOuIfEIgs3157Dxqz0OOuozAE2cN7kTxSROmyfoVxpk6koR1TMKveMZUSM4nm0wO93OeieGzIt+l6DcJFN46TvCOZH31/K61U49g= From: jordikroon@me.com (Jordi Kroon) --698338a9_8edbdab_2cc Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hello, I would like to get R=46C Karma for my wiki account. My username is: jkro= on. The proposed R=46C will introduce Enums with Associated Values for cases = and is inspired by Rust and Swift. =46or example it would allow for the following: =60=60=60 <=3Fphp enum ApiResult =7B =C2=A0=C2=A0 =C2=A0case Success(string =24data, int =24statusCode); =C2=A0=C2=A0 =C2=A0case =46ailure(Throwable =24error, =3Fint =24statusCod= e); =7D function handle(ApiResult =24r): string =7B =C2=A0=C2=A0 =C2=A0return match (=24r) =7B =C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0ApiResult::Success =3D> 'OK ' . =24r->st= atusCode . PHP=5FEOL, =C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0ApiResult::=46ailure =3D> 'NO ' . (=24r-= >statusCode =3F=3F 'unknown') . PHP=5FEOL, =C2=A0=C2=A0 =C2=A0=7D; =7D echo handle(ApiResult::Success('All good', 200)); echo handle(ApiResult::=46ailure(new Exception('Bad request'), 400)); echo handle(ApiResult::=46ailure(new Exception('Server error'), null)); =60=60=60 Regards, Jordi --698338a9_8edbdab_2cc Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline
Hello,

I would like to get R=46C Karma for my wiki account. My username is: jkro= on.
The proposed R=46C will introduce Enums with Associated Values for cases = and is inspired by Rust and Swift.

=46or example it would allow for the following:

=60=60=60
<=3Fphp

enum ApiResult =7B
&=23160;&=23160; &=23160;case Success(string =24data, int =24statusCode);=
&=23160;&=23160; &=23160;case =46ailure(Throwable =24error, =3Fint =24sta= tusCode);
=7D

function handle(ApiResult =24r): string =7B
&=23160;&=23160; &=23160;return match (=24r) =7B
&=23160;&=23160; &=23160; &=23160; &=23160;ApiResult::Success =3D> 'OK= ' . =24r->statusCode . PHP=5FEOL,
&=23160;&=23160; &=23160; &=23160; &=23160;ApiResult::=46ailure =3D> '= NO ' . (=24r->statusCode =3F=3F 'unknown') . PHP=5FEOL,
&=23160;&=23160; &=23160;=7D;
=7D

echo handle(ApiResult::Success('All good', 200));
echo handle(ApiResult::=46ailure(new Exception('Bad request'), 400));
echo handle(ApiResult::=46ailure(new Exception('Server error'), null)); =60=60=60

Regards,
Jordi

--698338a9_8edbdab_2cc--