array_unique() Don’t Filter Enums

In PHP 8.1, array_unique() compared the enumerations cases directly, and they were all distinct one from another. The result was

PHP code

<?php

enum E: string
{
    case A = 'A';
    case B = 'B';
    case C = 'C';
}

$data = [
    E::A,
    E::B,
    E::C,
    E::A,
    E::B,
    E::C,
];

$data = array_unique($data);

var_dump($data);

?>

Before

PHP Parse error:  syntax error, unexpected identifier "E" in /codes/array_unique_enum.php on line 3

Parse error: syntax error, unexpected identifier E in /codes/array_unique_enum.php on line 3

After

PHP Fatal error:  Uncaught Error: Class Test not found in /codes/array_unique_enum.php:11
Stack trace:
#0 {main}
  thrown in /codes/array_unique_enum.php on line 11

Fatal error: Uncaught Error: Class Test not found in /codes/array_unique_enum.php:11
Stack trace:
#0 {main}
  thrown in /codes/array_unique_enum.php on line 11

PHP version change

This behavior changed in 8.1