Bug #75345 [Opn->Wfx]: Strict type declarations not enforced for Reflection API invocation

From: Date: Mon, 02 Jul 2018 18:22:59 +0000
Subject: Bug #75345 [Opn->Wfx]: Strict type declarations not enforced for Reflection API invocation
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-216078@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=75345&edit=1 ID: 75345 Updated by: nikic@php.net Reported by: sebastian@php.net Summary: Strict type declarations not enforced for Reflection API invocation -Status: Open +Status: Wont fix Type: Bug Package: Reflection related Operating System: Irrelevant PHP Version: Irrelevant Block user comment: N Private report: N New Comment: This has been discussed on the internals list in https://externals.io/message/100851, and the decision was not change this behavior. Previous Comments: ------------------------------------------------------------------------ [2017-10-09 14:42:03] sebastian@php.net Description: ------------ Strict type declarations are not enforced when a function or method is invoked via the Reflection API. The test script generates the same result with PHP 7.0.25-dev (f48abfa9022c026c2447b14bc03c978d2b831b27), 7.1.11-dev (d8881f4eb4ec138db00d5fcf0b27a64f8986cd85), PHP 7.2.0-dev (611d117b24b58544ef69390cfe44166ba606b0ab), and PHP 7.3.0-dev (39ded1d5f85ca3358cc8a52bb37e72a5eb5ce0db). Test script: --------------- <?php declare(strict_types=1); function f(bool $a) { var_dump($a); } $f = new ReflectionFunction('f'); $f->invokeArgs([1]); // or $f->invoke(1); Expected result: ---------------- TypeError exception because int(1) does not match bool. Actual result: -------------- bool(true) ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=75345&edit=1

« previous php.bugs (#216078) next »