Why
The include resolver, namespace fallback rules, and function_exists() behavior are individually covered, but the mixed program path is a good place for subtle mismatches.
Proposed stress program
<?php
namespace App;
use function App\Lib\helper;
require __DIR__ . "/lib.php";
echo function_exists("helper") ? "y\n" : "n\n";
echo function_exists("\\App\\Lib\\helper") ? "y\n" : "n\n";
echo helper() . "\n";
What to verify
- Include ordering matches PHP-visible availability.
- Unqualified function lookup respects namespace fallback rules.
function_exists() agrees with the callable that name resolution eventually targets.
- No drift between include discovery and function-variant tracking.
Scope
Stress/regression coverage issue, not a confirmed compiler bug.
Why
The include resolver, namespace fallback rules, and
function_exists()behavior are individually covered, but the mixed program path is a good place for subtle mismatches.Proposed stress program
What to verify
function_exists()agrees with the callable that name resolution eventually targets.Scope
Stress/regression coverage issue, not a confirmed compiler bug.