Any reason why backed enums are limited to int and string only?

From: Date: Wed, 31 Mar 2021 18:44:19 +0000
Subject: Any reason why backed enums are limited to int and string only?
Groups: php.internals 
Request: Send a blank email to internals+get-113883@lists.php.net to get a copy of this message
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

« previous php.internals (#113883) next »