Commit 3acdd84
AIGEN: Fix iterator compilation bug with value class field access (#769)
The compiler was incorrectly marking code as unreachable when accessing
fields of value classes (like Some<T>.value) if the field type appeared
as unresolved type `_` during compilation. This happened with lazy
iterator chains using flatMap and filter with yield.
The fix moves the canInstantiate check inside the NamedLeaf branch only
(for reference classes which require scalarization), allowing value class
field access to proceed without this check since it's just bookkeeping.
This removes the .collect(Array) workaround in SqlSchemaMigration.sk.
Co-Authored-By: Claude Opus 4.5 <[email protected]>1 parent 804939e commit 3acdd84
2 files changed
Lines changed: 42 additions & 37 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3156 | 3156 | | |
3157 | 3157 | | |
3158 | 3158 | | |
3159 | | - | |
3160 | | - | |
3161 | | - | |
3162 | | - | |
3163 | | - | |
3164 | | - | |
3165 | | - | |
3166 | | - | |
3167 | | - | |
3168 | | - | |
3169 | | - | |
3170 | | - | |
3171 | | - | |
3172 | | - | |
3173 | | - | |
3174 | | - | |
3175 | | - | |
3176 | | - | |
3177 | | - | |
3178 | | - | |
3179 | | - | |
3180 | | - | |
3181 | | - | |
3182 | | - | |
3183 | | - | |
3184 | | - | |
| 3159 | + | |
| 3160 | + | |
| 3161 | + | |
| 3162 | + | |
| 3163 | + | |
| 3164 | + | |
| 3165 | + | |
| 3166 | + | |
| 3167 | + | |
| 3168 | + | |
| 3169 | + | |
| 3170 | + | |
| 3171 | + | |
| 3172 | + | |
| 3173 | + | |
| 3174 | + | |
| 3175 | + | |
| 3176 | + | |
| 3177 | + | |
| 3178 | + | |
| 3179 | + | |
| 3180 | + | |
| 3181 | + | |
| 3182 | + | |
| 3183 | + | |
| 3184 | + | |
| 3185 | + | |
| 3186 | + | |
| 3187 | + | |
| 3188 | + | |
| 3189 | + | |
| 3190 | + | |
| 3191 | + | |
| 3192 | + | |
| 3193 | + | |
3185 | 3194 | | |
3186 | 3195 | | |
3187 | 3196 | | |
| |||
3191 | 3200 | | |
3192 | 3201 | | |
3193 | 3202 | | |
3194 | | - | |
3195 | 3203 | | |
3196 | 3204 | | |
3197 | 3205 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
27 | 24 | | |
28 | | - | |
29 | | - | |
| 25 | + | |
| 26 | + | |
30 | 27 | | |
31 | 28 | | |
32 | 29 | | |
| |||
0 commit comments