[php-src] Issue #22683: Reflection(Class)Constant::__toString() should not warn on NAN conversions

[email protected] (DanielEScherzer) Fri, 10 Jul 2026 19:32:32 +0000
Newsgroups php.bugs
Message-ID <62A4YEqgb2u9uYKIj8gIsSusE6BOBk7jobCasTK4sIg@main.internal.php.net>
Issue: https://github.com/php/php-src/issues/22683
Author: DanielEScherzer

```php
<?php

echo new ReflectionConstant('NAN');

class Demo {
    public const MY_NAN = NAN;
}

echo new ReflectionClassConstant(Demo::class, 'MY_NAN');
```

results in:
```
Warning: unexpected NAN value was coerced to string in /in/868PE on line 3
Constant [ <persistent> float NAN ] { NAN }

Warning: unexpected NAN value was coerced to string in /in/868PE on line 9
Constant [ public float MY_NAN ] { NAN }
```

but the reflection extension shouldn't emit these warnings when the extension is responsible for the conversion - they are emitted by the __toString() call, not the echo