Commit 4aff1f2
committed
fix(semantic): narrow rawget doc-function guards
Rawget guards already narrow matching index expressions when the callee
is the built-in signature. The same helper can be exposed through a
documented function field, where its return type is stored directly on
the doc function.
Handle std.RawGet returns from doc functions in guard flow so
utils.get(t, "x") narrows t.x like rawget(t, "x").1 parent 192e3d7 commit 4aff1f2
2 files changed
Lines changed: 35 additions & 0 deletions
File tree
- crates/emmylua_code_analysis/src
- compilation/test
- semantic/infer/narrow/condition_flow
Lines changed: 27 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
390 | 390 | | |
391 | 391 | | |
392 | 392 | | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
393 | 420 | | |
394 | 421 | | |
395 | 422 | | |
| |||
Lines changed: 8 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
79 | 87 | | |
80 | 88 | | |
81 | 89 | | |
| |||
0 commit comments