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 bc90093
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
@@ -1403,6 +1403,26 @@ jobs:
1403
1403
echo "$OUTPUT"
1404
1404
../bashunit assert contains 'Result cache was not saved because of non-ignorable exception: Class ResultCacheE2EInternalError\Missing was not found' "$OUTPUT"
1405
1405
test ! -f tmp/resultCache.php
1406
+
- script: |
1407
+
cd e2e/result-cache-circular-inheritance
1408
+
# src/First.php, src/Second.php and src/Third.php extend each other in a cycle. src/TraitA.php
1409
+
# uses TraitB, which uses TraitC, without a cycle.
0 commit comments