Repository navigation
Commit 8b906cf
Do not mark callable-owned template types as arguments when entering a function
Templates declared by callable<T>(...)/Closure<T>(...) types in a function
signature were only recognized as owned by the callable when used as a bare
parameter or return type. When the template occurred only inside another type,
like callable<T of object>(class-string<T> $class): list<T>, it was marked
as an argument type and invoking the callable could not resolve it.
Such templates always have the anonymous function template scope, which the
entered function's own templates never have, so they are recognized by scope.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1 parent 4f7c44c commit 8b906cf
2 files changed
Lines changed: 14 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
134 | 140 | | |
135 | 141 | | |
136 | 142 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
0 commit comments