You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 05e9f43
Browse filesBrowse the repository at this point in the historyBrowse files
Report inheritance cycles with a rule instead of a reflection error
A class that extends itself, interfaces that extend each other and
traits that use each other cannot be declared in PHP. A class on a
parent class cycle now has no parent instead of throwing
CircularReference, and a trait inside a trait on a cycle processes only
the traits reflection says it uses. CircularInheritanceRule reports the
cycle on each of its members, at level 0.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: .github/workflows/e2e-tests.yml
+20Lines changed: 20 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1382,6 +1382,26 @@ jobs:
1382
1382
echo "$OUTPUT"
1383
1383
../bashunit assert contains 'Result cache was not saved because of non-ignorable exception: Class ResultCacheE2EInternalError\Missing was not found' "$OUTPUT"
1384
1384
test ! -f tmp/resultCache.php
1385
+
- script: |
1386
+
cd e2e/result-cache-circular-inheritance
1387
+
# src/First.php, src/Second.php and src/Third.php extend each other in a cycle. src/TraitA.php
1388
+
# uses TraitB, which uses TraitC, without a cycle.
0 commit comments