Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:113883 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 38764 invoked from network); 31 Mar 2021 18:46:50 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 31 Mar 2021 18:46:50 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 7016718053D for ; Wed, 31 Mar 2021 11:44:25 -0700 (PDT) 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.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, 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-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) (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, 31 Mar 2021 11:44:25 -0700 (PDT) Received: by mail-lf1-f51.google.com with SMTP id i26so30497058lfl.1 for ; Wed, 31 Mar 2021 11:44:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=eHmq44mj2DUa152ZCm67j49O7Ii1YKB0UEm3rBDd0+Y=; b=ElSe3Hvy9QF0g1PCyeHLcIFzqpQ5yM5PvmQXHWYPyOKqwDwQxZrvMp/hvB559uaTom RQ6oLyYmOOLez2IiAUfTzxER85CxI7Bz5beZVzR0iIyxZp4MkW6R0dAbWTXpxvJC08q8 AUf2Fl+vjF7C5HoVjr5fPd4YBteFu7GixoHr52Xm4xhB8nXlCqnmeN8hLhvlMO2uem0M O2AL4vZ1LGMhigKQEaqNM3oHO2Q5EKNXQwiVIhvkoqe61RJy+VL2ezDt8FIBGL2BqNOJ Xl6VjUCxPyTd58QuzGI2fSybo61p5ylAPiXUkhY0VCbN0rejx5pQ4wmqL0HG6BseM/16 mwGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=eHmq44mj2DUa152ZCm67j49O7Ii1YKB0UEm3rBDd0+Y=; b=lmfE/aBJi3HxeJGJPibVTdWwN8S0fq6PPojBBV+mmaISFhT4RocGpPMldtrSbEbnqv atEHzssFIDSEPKl9lqOjJWXVSpHykdS/RuAuJcbIucmBlHoDI1olj9hWPXwAGsxoF9no 4Y4hCqeITgJx1VkaF+F0/FUmmSIpkbzkPOlEE3DOZDOQHd4gmpf1KSQOtlSeMkd3raAt 5QRqfqTGFIvXGn/A0cFpYfhGNetm8F7I2/Qdk8mfP9zq5kcxB1/TDTXtibqgHzlvFa1Y 0fj4J/V72H8qbec6FGXYl1yIB7HWdaLeipocVhkqcLohvokveSdGTiIRbUxLRpk1nGtq BxGQ== X-Gm-Message-State: AOAM530BjYU5f7sT4B7B+rJ0ywmGhGB5Gz1ZKMXLRCRY+neLuoM76Rp3 BTBCr4ojvK++5974QWqQ0MSMlGHXRU+Fs2EVQj///8CE X-Google-Smtp-Source: ABdhPJzpY/7qS3EFi/C5nAc/2Bt3Ks1aNXoa30sYim5GwVUiAPlGabpThJgfC6AOgLKBA9/20xrKvg2DUwABF+b0yDM= X-Received: by 2002:a05:6512:1116:: with SMTP id l22mr2931060lfg.61.1617216260717; Wed, 31 Mar 2021 11:44:20 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:ab3:5f8f:0:0:0:0:0 with HTTP; Wed, 31 Mar 2021 11:44:19 -0700 (PDT) Date: Wed, 31 Mar 2021 20:44:19 +0200 Message-ID: To: PHP internals Content-Type: text/plain; charset="UTF-8" Subject: Any reason why backed enums are limited to int and string only? From: olleharstedt@gmail.com (=?UTF-8?Q?Olle_H=C3=A4rstedt?=) Hello, I was trying to implement the result type from OCaml using enums, and noticed that they can only carry int or string data, not arbitrary data. Any specific reason for this? Example: enum Result: mixed { case Ok = null; case Error = null; } Error with: Fatal error: Enum backing type must be int or string, mixed given in /tmp/enum.php on line 3 More specifically, for this idiom to work, "Ok" needs to be mixed and "Error" should be string. OCaml idiom: https://ocaml.org/learn/tutorials/error_handling.html#Result-type Olle